Subscribed unsubscribe Subscribe Subscribe

よくやるローカル変数の書き忘れミス

Javascriptのforの使い方は以下の二つ

for(i=0;i<10;i++){/*..snip..*/}
for(i in array){/*..snip..*/}

がありますが、このの書き方だと i がグローバルオブジェクトのプロパティになってしまってずっと残ってしまいます。これくらいなら大丈夫でしょうけど、バグの温床になりかねないので

for(var i=0;i<10;i++){/*..snip..*/}
for(var i in array){/*..snip..*/}

のようにちゃんとvarで宣言しましょう。関数内ならその関数のCallオブジェクトのプロパティになるので、関数が終わり次第消えます(変にクロージャみたいになってなければ。