简单示例:
for (var i = 0; i < 10; ++i) {
console.log(i); // <--- should be show with delay in 300ms
}
简单的setTimeout使用当然不起作用......我猜应该使用闭包..
答案 0 :(得分:6)
编写递归函数很简单:
function display(i)
{
if (i == 10) return;
setTimeout(function(){ console.log(i); display(i+1); }, 300);
}
答案 1 :(得分:4)
应该做的工作:
for (var i = 0; i < 10; ++i) {
(function(i) {
setTimeout(function(){console.log(i);}, i*300);
})(i);
}
答案 2 :(得分:3)
您可以使用setInterval,如下所示:
var i = 0;
var id = setInterval(function(){
if (i == 9) clearInterval(id);
console.log(i);
i++;
}, 300);