我在' for循环'中实现了setTimeout函数,它似乎没有按预期工作。
这是我使用的代码:
var listItems = ['1','2','3'];
for(var i = 0 ; i < listItems.length ; i++){
setTimeout(function(){
console.log(listItems[i])
},500)
}
经过测试,返回&#39;未定义(3)&#39;
困惑,尝试了另一种解决方案
var listItems = ['1','2','3'];
for(var i = 0 ; i < listItems.length ; i++){
setTimeout(function(i){
console.log(listItems[i])
},500)
}
显然这甚至没有效果。
在这里查看另一个类似的问题,并尝试:
var listItems = ['1','2','3'];
for(var i = 0 ; i < listItems.length ; i++){
(function(){
setTimeout(function(){
console.log(listItems[i])
},500)
})(i);
}
仍然未定义(3)&#39;
这是没有setTimeout函数的工作代码。我不确定我做错了什么。
谢谢!