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

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

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

グローバル変数についてはご存知かと思いますが、関数スコープで 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>

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

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