いつか、私は人々がこれをしているのを見ました
for(var i=0; i< array.length; i++){
//bababa
}
しかし、私はまた、これをしている人々を見ます...
for(i=0; i< array.length; i++){
//bababa
}
2つの違いは何ですか?ありがとうございました。
var
キーワードが「必要」になることはありません。ただし、これを使用しない場合、宣言している変数はグローバルスコープで公開されます(つまり、window
オブジェクトのプロパティとして)。通常、これはあなたが望むものではありません。
通常、変数を現在のスコープにのみ表示する必要があります。これは、var
が行うことです。現在のスコープでのみ変数を宣言します(ただし、「現在のスコープ」が「グローバルスコープ」と一致する場合もあります。その場合、var
を使用する場合とvar
を使用しない場合で違いはありません)。
コードを書くときは、次の構文を使用する必要があります。
for(var i=0; i< array.length; i++){
//bababa
}
または、必要な場合は、次のようにします。
var i;
for(i=0; i< array.length; i++){
//bababa
}
このようにする:
for(i=0; i< array.length; i++){
//bababa
}
...グローバルスコープにi
という変数を作成します。他の誰かがたまたまグローバルi
変数を使用している場合は、その変数を上書きしただけです。
技術的には、これを使用する必要はありません。javascriptは、事前に宣言しなくても変数を使用して、陽気に進行します。
ただし、実際には、変数を宣言するときは常にそれを使用する必要があります。これにより、コードが読みやすくなり、混乱を避けるのに役立ちます。特に、同じ名前でスコープが異なる変数を使用している場合はそうです。
var n = 23;
function functThat( )
{
var n = 32; // "local" scope
}