我想在templates[i]
循环中setTimeout
内的for
点击
for(var i=0; i<templates.length; i++){
setTimeout(function(){
(function(){
templates[i].click();
}(i, templates));
}, 200);
}
我收到错误templates[i]
未定义。
然而,这样的事情很好:
for(var i=0; i<templates.length; i++){
setTimeout(function(){
(function(){
console.log(templates_arr+templates)
}(templates_arr, templates));
}, 200);
}
有人能说清楚为什么会这样,以及如何正确传递数组和索引?
谢谢, 丹
答案 0 :(得分:1)
应该是
for(var i=0; i<templates.length; i++){
(function(i,templates){
setTimeout(function(){
templates[i].click();
}, 200);
})(i, templates);
}