stub-fold-closeiter.js (469B)
1 class Iterator { 2 val = 0; 3 next() { 4 return { value: this.val++, done: false } 5 } 6 return() { return { value: undefined, done: true }} 7 } 8 9 var arr = []; 10 for (var i = 0; i < 10; i++) { 11 class SubIter extends Iterator {} 12 var iterable = { 13 [Symbol.iterator]() { return new SubIter(); } 14 } 15 arr.push(iterable); 16 } 17 18 function foo() { 19 for (var x of arr[i % arr.length]) { 20 if (x > 1) { return; } 21 } 22 } 23 24 with ({}) {} 25 for (var i = 0; i < 100; i++) { foo(); }