retain binding values on iteration if reassigned - fixes #1078

This commit is contained in:
Sebastian McKenzie
2015-03-30 18:02:21 +11:00
parent 3d6e722fc7
commit 1641caedc4
5 changed files with 88 additions and 11 deletions

View File

@@ -0,0 +1,12 @@
var fns = [];
for (let i = 0; i < 10; i++) {
fns.push(function () { return i; });
i += 1;
}
assert.equal(fns[0](), 1);
assert.equal(fns[1](), 3);
assert.equal(fns[2](), 5);
assert.equal(fns[3](), 7);
assert.equal(fns[4](), 9);

View File

@@ -0,0 +1,5 @@
for (let i = 0; i < 2; i++) {
() => { i };
console.log(i);
i += 1;
}

View File

@@ -0,0 +1,12 @@
"use strict";
for (var i = 0; i < 2; i++) {
(function (_i) {
(function () {
_i;
});
console.log(_i);
_i += 1;
i = _i;
})(i);
}