Firefox 3.0.1にて。 var g = function(){ while(1) yield 1; }.call(); for each(let i in g){ break; } g.next(); // StopIteration例外 なんでやねん。なんかどう考えてもfor each文を抜けるときにジェネレータが凍結されずにcloseメソッドが呼ばれているだろこれ。Firefox2のときと挙動が違うというか、Pythonと違う。 こういうことをするならJavascript1.8でやってくれないかなあ。本気で迷惑なんだけど。 どうするか考え中。 « body要素書き換え | 真に自由なリンク »