http://peace.2ch.net/test/read.cgi/win/1394240473/715-719n より。
for (var a = xxx, y = yyy; ...; ) { ... }
のように for() 文で複数の変数を宣言するとグローバル変数として定義されてしまいます。
function test () {
for (var x = 0; false;) { }
for (var y = 0, z = 'a'; false;) { }
}
var z = { a: 1 };
test ();
alert (typeof x); // undefined
alert (typeof y); // number
alert (typeof z); // string