今回は JS のスコープに関する質問です。JS のスコープに関する 注意事項 とは何ですか? ここで実際のケースを見てみましょう。
var a = 1;function foo () { console.log(a); var a = 2; console.log(a);
}
foo();
1つ目のconsole.logと2つ目のconsole.logの出力値をそれぞれ書いてください。
Javascript関数 変数の初期化シーケンス
実行前期間
1. 関数宣言が初期化され、グローバル変数(グローバルコンテキスト)ウィンドウに配置されます
2. varで宣言された変数が配置されます。グローバル変数(グローバルコンテキスト) 関数内など、windowやvarが配置されているコンテキストでは、初期値は不定です
実行期間
コードを実行すると、変数の代入が発生します。 var 以外で宣言された変数は、コードの実行後にのみ作成され、グローバル変数 (グローバル コンテキスト) ウィンドウ
Javascript コンテキスト
に配置されます。 グローバル コンテキスト: ウィンドウ
関数コンテキスト: 関数内で使用されます。 var で宣言された変数は次のとおりです。ローカル変数であり、関数のスコープを出た後にガベージ コレクションされます。クロージャはガベージ コレクションされません。
つまり、var で宣言された変数は、実行前期間中に対応するコンテキストに配置され、その後、実行期間中に、対応するコンテキスト内の変数が割り当てられます。
答え
未定義 2
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイト
その他関連記事に注目してください。
推奨書籍:
Angular 初心者向けチュートリアル
Node.js 初心者向けチュートリアル (2)
Node.js 初心者向けチュートリアル (1)
以上がJSのスコープについての質問です。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。