1.JavaScriptスコープの分割標準は関数関数ブロックであり、if、while、または
<script> function f1(){alert( "scope for scope:"+i); //私は割り当てられていません(宣言なしではありません!未宣言されていない変数または関数を使用すると、致命的なエラーを引き起こし、スクリプトの実行を中断します)// // iの値は3であり、これはすでに範囲の外側にありますが、iの値はまだ(true){var j = 1; break;} alert(j); // jの値は1であり、これはすでに範囲外にありますが、jの値はまだ(true){var j = 1; break;} alert(j); // jの値は1であり、これはすでに範囲外にありますが、jの値はまだ(true){var k = 1; }アラート(k); // kの値は1であり、すでに範囲のスコープの外側にありますが、kの値は1} f1()として保持されます。 //この時点で、関数は関数ブロックの外側と呼ばれ、F1の関数範囲に存在するIJK変数アラート(i)が再び出力されます。 //エラー!!!その理由は、私がここで宣言されていない(未割り当てではなく、F1の最初の行の出力とは異なる)、スクリプトは間違っており、プログラムは終了します!アラート(j); //実行されていないアラート(k); //実行されていない</script>2。JavaScriptが実行される前に、スクリプトファイル全体を事前促進し(ローカル変数パーツを含むスクリプトファイルの宣言部分を分析します)、それにより実際の変数の範囲を決定します。例:以下:
<Script> var x = 1; function f2(){alert(x); // xの値は未定義です!このXは、機能スコープで重複した名前のローカル変数が宣言されているため、グローバル変数のパラメーターAが上書きされているため、グローバル変数ではありません。これは、JavaScriptが実行前にプリコンパイルされることを示しており、関数本文のXはグローバル変数ではなくローカル変数を指しています。現時点では、xは宣言されており、割り当てがないため、未定義のx = 3です。アラート(x); // xの値は3です。ただし、ローカル変数var xは依然としてアラート(x)と宣言されています。 //ローカル変数xの値はアラート(x)と宣言されます。 // xの値は3} f2();アラート(x); // xの値は1であり、関数範囲内ではなく、xの値はグローバル変数の値です。 </script>3.グローバル変数がローカル変数と複製されると、ローカル変数の範囲がグローバル変数の範囲を上書きします。ローカル変数の範囲を離れた後、グローバル変数の範囲に戻ります。グローバル変数がローカル変数に遭遇するとき、
グローバル変数の使用方法は? window.globalvariablenameを使用します。
<script> var a = 1; function f3(){alert(window.a); //ビット1、ここでAはグローバル変数var a = 2です。アラート(a); } f3();アラート(a); </script>上記の記事では、JavaScriptのグローバル変数とローカル変数が私があなたと共有したすべてのコンテンツについて簡単に説明しています。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。