-2

つまり、ブラウザはそれを非常に適切に実行します

var を置くとコードが非常に読みやすくなるので、私はそれを承認しません。

私がこれを行うと、それは機能しますか?

a=2;
console.log(a);
4

4 に答える 4

3

キーワードを使用しない場合var、変数はグローバルになります。変数がグローバルであることを宣言している場合、それは必要ありません。

一般に、変数をグローバルに宣言することは悪い習慣と考えられています。これを行うと、「グローバル名前空間を汚染する」と呼ばれることがよくあります。

于 2013-07-09T23:41:31.960 に答える
2

はい、欠点は、「グローバル」変数 (のプロパティwindow) になることです。後で (意図せずに) 使用すると、問題が発生する可能性があります。特に大きなオブジェクトがある場合は、明示的に管理しない限り、メモリの問題も発生する可能性があります。

通常、適切なコード プラクティスとして、読みやすくするために変数を可能な限り狭い範囲に制限することをお勧めします。

于 2013-07-09T23:41:10.977 に答える
0

var を使用しない場合、javascript は変数がグローバル名前空間にあると想定します。

したがって:

a = 'abc';
function x() { a = 'def'; }

関数内から実行されている場合でも、「a」を上書きします。それが必要な場合もありますが、そうでない場合もあります。

a = 'abc';
function x() { var a = 'def'; }

これにより、「a」が上書きされるのを防ぐことができます (関数内の「a」は別の変数です)。

つまり、新しい変数を宣言するときは常に var を使用してください。そうすれば、誤って既存の変数を上書きすることはありません。

于 2013-07-09T23:45:36.243 に答える
0

それらは違う。を使用しない場合var、変数は常にグローバルになります。一般的に悪い考えです。

于 2013-07-09T23:41:17.257 に答える