Source code

Revision control

Copy as Markdown

Other Tools

class Iterator {
val = 0;
next() {
return { value: this.val++, done: false }
}
return() { return { value: undefined, done: true }}
}
var arr = [];
for (var i = 0; i < 10; i++) {
class SubIter extends Iterator {}
var iterable = {
[Symbol.iterator]() { return new SubIter(); }
}
arr.push(iterable);
}
function foo() {
for (var x of arr[i % arr.length]) {
if (x > 1) { return; }
}
}
with ({}) {}
for (var i = 0; i < 100; i++) { foo(); }