【发布时间】:2015-10-05 12:49:20
【问题描述】:
我正在尝试在 for 循环中运行 setTimeout。我已按照建议将 setTimeout 移到单独的函数中。然而,一切似乎都在循环结束时立即触发。
在本例中,我希望 console.logs 每秒触发一次。
function setDelay(i) {
setTimeout(function(){
console.log(i);
}, 1000);
}
for (var i = 1; i <= 10; ++i) {
setDelay(i);
}
【问题讨论】:
-
我对输出真的很好奇,我猜
i变量保留了值,因为它在不同的函数中?如果是循环变量,它肯定会输出10十次。 -
我只是好奇:你为什么问一个问题,甚至懒得回答别人的问题和答案?
标签: javascript for-loop settimeout