練炭ブログ

萌え壁紙、Irvine、DMonkey、Proxomitron などの情報を扱ってます。

DMonkey: for()で複数の変数を宣言するとグローバルに定義される

コメントなし»

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