JavaScript_javascript スキルでグローバル変数を宣言する 3 つの方法の類似点と相違点について説明します。

WBOY
リリース: 2016-05-16 17:10:55
オリジナル
1128 人が閲覧しました

変数と変数宣言は言語の最も基本的な概念であり、初心者でもすぐに習得できます。 JavaScript での変数の宣言も同様で、非常に単純な var (キーワード) 変数名 (識別子) です。

方法 1

var test;
var test = 5; この文を関数に含めることはできないことに注意してください。そうでない場合は、ローカル変数になります。これは、グローバル変数を宣言する最初の方法です。

方法 2

test = 5;
var を使用せずに、識別子 test に値を直接割り当てます。これにより、グローバル変数 test が暗黙的に宣言されます。ステートメントが関数内にある場合でも、関数が実行されると test はグローバル変数になります。

方法 3

window.test;
window.test = 5; このメソッドは、匿名関数の実行後に一部の関数を公開するためによく使用されます。 JQuery1.5の最後の文

など

window.jQuery = window.$ = jQuery;

変数テストだけを使用する場合、3 つの方法に違いはありません。例:alert(test) には 5 が表示されます。ただし、場合によっては 3 つの方法の間に違いがあります。 3 つの変数 a1、a2、a3 をそれぞれ上記の 3 つの方法で宣言します。

a1 = 11;
var a2 = 22;
window.a3 = 33;

1、ウィンドウ内用

for(a in window){
if(a=='a1'||a=='a2'||a=='a3'){
alert(a)
}
}
IE6/7/8/9: a3 のみがポップアップし、最初と 2 番目のメソッドで宣言されたグローバル変数が for in window で取得できないことを示します。
Firefox/Chrome/Safari/Opera: a1、a2、および a3 はすべてポップアップ表示され、3 つの方法で宣言されたグローバル変数が for in window を通じて取得できることを示します。


2、削除

try {
alert(a1 を削除);
}catch(e){alert('a1 を削除できません')}

try{
alert(a2 を削除);
}catch(e){alert('a2 を削除できません')}

try{
alert(a3 を削除);
}catch(e){alert('a3 を削除できません')}

結果は以下の通りです

JavaScript_javascript スキルでグローバル変数を宣言する 3 つの方法の類似点と相違点について説明します。


1, delete a2 はすべてのブラウザで false であることがわかります。つまり、var で宣言された変数は削除できず、すべてのブラウザが同じように動作します。これは Rhino の本にも記載されています。

2. window.a3 で宣言したグローバル変数は IE6/7/8 では削除できませんが、IE9/Firefox/Chrome/Safari/Opera では削除できます。

上記2点に違いはありますが、運用で使用する場合はどちらもtrueを返します。

alert('a1' in window);//true
alert('a2' in window);//true
alert('a3' in window);//true
と併用オブジェクト ウィンドウのクロージャを開くと、すべてのブラウザは次のように同じように動作します

with(window){
if(a1){
alert(a1);//11
}
if(a2){
alert(a2);//22
}
if(a3){
alert(a3);//33
}
}

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート