2010-12-08 14 views
18

可能性の重複:
Difference between using var and not using var in JavaScriptjavascript varまたはvarではない点は何ですか?

こんにちはすべて

varキーワードでvar myVar;を宣言するか、それなしmyVarを宣言する。

これはいくつかのばかげた質問かもしれませんが、私はjavascriptの学習プロセスに入っています。

いつか、他の人のコードを読むとき、いくつかの変数が正面に 'var'なしで宣言されていることがわかります。単に強調するために、これらの変数は関数のパラメータとして宣言されていません。

'var'キーワードの有無にかかわらず変数を宣言することとの違いは何ですか?あなたがそれを使用しない場合

多くのおかげ

答えて

23

は、それがグローバル変数であるかもしれない、またはIEの場合には、それだけで爆破ます。

あなたがそれを必要としない場合があります。たとえば、あなたが入っている関数のパラメータであれば、すでに宣言されています。 いつもvarを使用してください(それ以外の場合は、既に存在する変数を操作している場合を除きます)。どの範囲に定義する必要があっても、を明示的にと定義してください。

14

すべてのスコープについてです。技術的には、varを省略することもできますが、これを考慮することができます:

myVar = "stuff"; 

function foo() { 
    myVar = "junk"; //the original myVar outside the function has been changed 
} 

function bar() { 
    var myVar = "things" //A new scoped myvar has been created internal to the function 
} 
+4

「技術的に省略する」ことはできません。一部のブラウザでは許可されていますが、違いがあります。あなたがこれをするとき、IEは爆発するはずです。 –

+0

@ニックフェアコメント、私は間違って表現した –

+0

ああ、そして、私はあなたがvarを省略したことを示唆していなかったように、私はちょうどあなたがそれを取り除くことができるということでした。 varを使用すると、コードを読みやすくデバッグしやすくなり、使用するのが慣れます。 –

関連する問題