主要的区别是什么
setInterval
and
setTimeout
在JavaScript中?
主要的区别是什么
setInterval
and
setTimeout
在JavaScript中?
setTimeout(表情,超时);在超时后运行一次代码/函数。
setInterval(表情,超时);重复运行代码/函数,每次重复之间的超时长度。
例子:
var intervalID = setInterval(alert, 1000); // Will alert every second.
// clearInterval(intervalID); // Will clear the timer.
setTimeout(alert, 1000); // Will alert once, after a second.
setTimeout ():
它是一个在x间隔后执行JavaScript语句的函数。
setTimeout(function () {
something();
}, 1000); // Execute something() 1 second later.
setInterval ():
它是一个每隔x间隔执行一个JavaScript语句的函数。
setInterval(function () {
somethingElse();
}, 2000); // Execute somethingElse() every 2 seconds.
这两个函数的间隔单位都是毫秒。
setInterval ()
setInterval是一个基于时间间隔的代码执行方法,它具有在达到时间间隔时重复运行指定脚本的本机能力。脚本作者不应该将它嵌套到回调函数中以使其循环,因为默认情况下它会循环。除非调用clearInterval(),否则它将在间隔时间内继续触发。
如果你想循环动画或时钟的代码 然后使用setInterval。
function doStuff() {
alert("run your code here when time interval is reached");
}
var myTimer = setInterval(doStuff, 5000);
setTimeout ()
setTimeout是一种基于时间的代码执行方法,当达到间隔时,它只执行一次脚本,并且不会再次重复,除非通过将setTimeout对象嵌套在它调用的函数中来循环脚本。如果设置为循环,它将在间隔时间内继续触发,除非调用clearTimeout()。
function doStuff() {
alert("run your code here when time interval is reached");
}
var myTimer = setTimeout(doStuff, 5000);
如果你想让某件事在几秒钟后发生一次 然后使用setTimeout…因为当达到间隔时,它只执行一次。