无论我做什么,我的for循环延迟都会返回“ -1”。
for (var i = 5; i > 0; i--) {
setTimeout(function() {
console.log(i)
}, i * 1000)
}
(我将变量更改为5)
答案 0 :(得分:1)
最简单的方法是在for
内调用一个函数,然后让该函数处理setTimeout
for (var i = 5; i > 0; i--) {
fnSetTimeout(i);
}
function fnSetTimeout(i) {
setTimeout(function() { console.log(i); }, 1000 * i);
}