如何在下面的函数中将'i'设置为在setInterval内部增量而不是读取'i'的最终值?计数器变量i的范围在for循环中的setInterval中
window.onload= function(){
var res = ['a','b','c']
for(i=0;i<res.length;i++){
document.body.innerHTML += "<li id='L"+i+"' style='display:none;'>"+res[i]+"</li>";
setTimeout(function(){
document.body.innerHTML += 'L'+i+'<br/>';
document.getElementById('L'+i).style.display = 'block'
},1000+i*50);
}
}
输出:
L3
L3
L3
https://developer.mozilla.org/en/ JavaScript的/指南/闭包 – andlrc 2012-07-09 08:36:03
可能重复[Javascript闭合内循环 - 简单实用的例子](http://stackoverflow.com/questions/750486/javascript-closure-inside-loops-simple-practical-example) – 2012-07-09 08:39:09