我试图在for循环中运行setTimeout。我已经按照建议将setTimeout移动到一个单独的函数中。然而,在循环结束时,一切似乎都立即开始。setTimeout for循环一次全部触发
在这个例子中,我希望console.logs每秒触发一次。
function setDelay(i) {
setTimeout(function(){
console.log(i);
}, 1000);
}
for (var i = 1; i <= 10; ++i) {
setDelay(i);
}
我对输出真的很好奇,我猜''我'变量保留的价值,因为它在不同的功能?如果是循环变量,它肯定会输出10次。 – TJHeuvel
我只是很好奇:你为什么要问一个问题,甚至不想回答人们的意见和答案? – sbedulin