可能性の重複:コードの場合
Why don't self-closing script tags work?
Difference between using var and not using var in JavaScript変数宣言でvarを使用する利点は何ですか?
、私はVARを使用して変数を宣言する必要はありませんが分かりました。次の両方が動作しています
これらの2つの違いは何ですか?
可能性の重複:コードの場合
Why don't self-closing script tags work?
Difference between using var and not using var in JavaScript変数宣言でvarを使用する利点は何ですか?
、私はVARを使用して変数を宣言する必要はありませんが分かりました。次の両方が動作しています
これらの2つの違いは何ですか?
キーの違いは、var
キーワードを使用しないと、ネストされた関数で変数を定義しても変数がグローバルになります。
var
は、その変数のスコープを定義します。グローバルを使用するかどうかは、複数のスコープにまたがってオブジェクトを使用するかどうかによって異なりますが、グローバルスコープの汚染を減らす名前空間を使用することを強くお勧めします。
var
キーワードを使用しない場合は、グローバル変数を宣言しています。それを使用する場合は、変数を現在のスコープ内で宣言しています。例えば
:あなたは基本的にグローバルスコープを汚染しているので、
function foo() {
o = new Object();
}
foo();
alert(o); // you can access the o variable here
これは非常に悪いです。これとは対照的に
:
function foo() {
// the o variable is accessible only inside the current scope which
// is the foo function
var o = new Object();
}
foo();
alert(o); // error => o is not accessible here
結論:常にはvar
キーワードを使用して、変数のスコープを指定します。あなたが任意の関数の外に広いJavaScriptでVARを使用する場合var
を使用して
は機能
にローカル変数になり、それが
window.a
と同じだ
var a
ために重要ではありません
でも機能内
var a
は関数のプライベート変数であり、ポイントはwindow.a
(グローバル)
ここを参照してください。http://stackoverflow.com/questions/1470488/difference-between-using-var-and-not-using -var-in-javascript – Daniel
これはDanielによって指摘されたものとまったく同じです。 – hop