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オブジェクトのプロパティになるので、関数が終わり次第消えます(変にクロージャみたいになってなければ。