ホームページ  >  記事  >  ウェブフロントエンド  >  Javascriptのグローバル変数varと非varの違いを徹底分析_基礎知識

Javascriptのグローバル変数varと非varの違いを徹底分析_基礎知識

WBOY
WBOYオリジナル
2016-05-16 17:10:191116ブラウズ

グローバル変数についてはご存知かと思いますが、関数スコープで a=1 の形式で定義された変数は、グローバル スコープでは次の 3 つの形式を使用して変数を作成できます。名前付け:

コードをコピー コードは次のとおりです。

<script> <br>var a = 1;<br>b = 2;<br>window.c = 3;<br></script>

b=2 の場合、実際にはc と同じ はい、この代入ステートメントを実行すると、スコープ チェーンに沿って b という名前の変数が検索されます。スコープ チェーンの先頭に到達するまで見つからないため、プロパティ b をウィンドウに追加して割り当てます。それ。

var と非 var の間には 2 つの違いがあります:

1 var のグローバル変数は削除できません。delete はオブジェクトの削除可能な属性をインテリジェントに削除し、var で定義されたグローバル属性は削除不可能としてマークされるためです。削除が失敗した場合、エラーはスローされないことに注意してください。削除の戻り値は true|false です。

2 var で定義されたグローバル変数は昇格されますが、var なしで定義されたグローバル変数は昇格されません。次のプログラムの実行結果を確認できます:

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

<script> <br>alert(a);<br>var a=1;<br></script>

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