我試圖在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