有如下代码,结果看到了,不过不理解为什么会这样。
var f = []
for (i = 0; i < 3; i++) {
f[i] = function() { alert(i) };
}
f[0]();
f[1]();
f[2]();
for (i = 0; i < 3; i++) {
(function(i) {
ff[i] = function() { alert(i) };
})(i)
}
ff[0]();
ff[1]();
ff[2]();
for (i = 0; i < 3; i++) {
f[i] = function() { alert(i) };
}
f[0]();
f[1]();
f[2]();
var ff = []
for (i = 0; i < 3; i++) {
(function(i) {
ff[i] = function() { alert(i) };
})(i)
}
ff[0]();
ff[1]();
ff[2]();