我有两个示例代码。
两者具有相同的目的,将变量count
增加1,并打印该值
但第一个示例使用setInterval
,第二个示例使用setTimeout
。
var count = 0;
// First example.
var time = setInterval(function() {
document.body.innerHTML = count;
count++;
}, 1000);
// Second example.
var time = setTimeout(function() {
document.body.innerHTML = count;
count++;
}, 1000);
为什么在第一个示例中增加变量值并连续打印其值,但在第二个示例中将变量值增加1并打印其值一次然后停止并且不继续?
我问这个问题,因为我看到一些例子也在使用setTimeout
继续工作。
答案 0 :(得分:3)
setTimeout()方法在指定的毫秒数后调用函数或计算表达式。 SetTimeout 只会被调用一次。
setInterval()方法以指定的时间间隔(以毫秒为单位)调用函数或计算表达式。 setInterval()方法将继续调用函数,直到调用clearInterval(),或者窗口关闭。
答案 1 :(得分:2)
答案 2 :(得分:0)
如果你想让setTimeout像setInterval一样“行为”,你应该做这样的事情
var time = function(){
document.body.innerHTML = count;
count++;
setTimeout(time, 1000);
}
time();