ホームページ > ウェブフロントエンド > jsチュートリアル > Javascript の小さな問題の興味深い説明_JavaScript スキル

Javascript の小さな問題の興味深い説明_JavaScript スキル

WBOY
リリース: 2016-05-16 18:01:48
オリジナル
1208 人が閲覧しました

まず、次の 3 つのコードを見てみましょう

コードをコピーします コードは次のとおりです:

var firstName = "Mark ";
(function DisplayFirstName() {
console.log(firstName);
})();//Mark
var lastName = "Aut" を出力する必要があります;
(function DisplayLastName () {
var lastName = "Bru";
console.log(lastName);
})();//Bru を出力する必要があり、ローカル スコープはグローバル スコープよりも高い優先度
//次のコードはどうでしょうか?
var lastName = "Aut";
(function DisplayLastName() {
console.log(lastName);
var lastName = "Bru";
console.log(lastName);
})();// この出力の結果は次のとおりです。 :
LOG: 未定義
LOG: Bru

これは私の予想を超えています。当初は「Aut」と「Bru」であるべきだと考えていました。
私の当初の理解は次のとおりでした。プログラムが最初に作成されたとき。 lastName を出力します。プログラムはローカルに宣言された lastName 変数を見つけられなかったため、ローカル変数
の値が 2 回目に使用されました (私の概念では、JavaScript はインタープリタ言語であるため、文は次のようになります)。文... ....実行)

この結果を見ると、JavaScript の実行は必ずしも逐次的ではないようです..
これまでのところ、私の推測に基づくと、JavaScript の実行は最初に構文を実行する必要があります。次に、変数テーブル (ローカルおよびグローバル) を分析して完成させました
そして、スクリプトを 1 行ずつ順番に実行し始めました
また、すべての JavaScript 専門家に私の疑問を明確にするようお願いします。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート