ホームページ  >  記事  >  ウェブフロントエンド  >  JSのスコープについての質問です。

JSのスコープについての質問です。

php中世界最好的语言
php中世界最好的语言オリジナル
2018-03-12 17:38:561428ブラウズ

今回は 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。