我想执行对 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);
}
任何人都可以阐明为什么会这样以及我如何正确传递数组和索引吗?
谢谢, 丹
最佳答案
应该是
for(var i=0; i<templates.length; i++){
(function(i,templates){
setTimeout(function(){
templates[i].click();
}, 200);
})(i, templates);
}
关于javascript - 在 `for` 循环和 `setTimeout()` 内传递数组和索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34739806/