每次都会弹出2。
2
var j = i;不应该将j设置为setTimeout的个别范围吗?
var j = i;
j
然而,如果我这样做:
function timer() { for (var i = 0; i < 3; ++i) { (function (j) { setTimeout(function () { alert(j); }, 1000); })(i); } } timer();
它会如预期般弹出0,1,2。
0
1
我错过了什么吗?
用户名或电子邮箱地址
密码