setTimeout传参数问题
- JScript code
for (var i = 0; i < 3; i++){ setTimeout(function(){alert(i);}, (i+1)*5000);}
三次alert都是3,期望alert0,1,2,有没有好方法?
[解决办法]
闭包了,我觉得应该专门开个置顶讲闭包
- JScript code
for (var i = 0; i < 3; i++) { setTimeout((function (k) { return function () { alert(k); } })(i), (i + 1) * 1000);}