深入解析 JavaScript 中的 setTimeout() 和 setInterval()
setTimeout()
和 setInterval()
是 JavaScript 中用于设置定时任务的两个主要方法。
setTimeout()
:这个方法用于设置一个定时器,该定时器在指定的毫秒数后执行一个函数或指定的一段代码。这是一次性定时器。
// 语法
// setTimeout(code, milliseconds);
setTimeout(function(){
console.log("Hello, World!");
}, 3000); // 3秒后执行
setInterval()
:这个方法用于设置一个定时器,该定时器会每隔指定的毫秒数重复执行一个函数或指定的一段代码。这是重复定时器。
// 语法
// setInterval(code, milliseconds);
setInterval(function(){
console.log("Hello, World!");
}, 3000); // 每隔3秒执行一次
- 清除定时器:
clearTimeout(timeoutID)
:用于取消setTimeout()
设置的定时器。clearInterval(intervalID)
:用于取消setInterval()
设置的定时器。
// 设置定时器
var timeoutID = setTimeout(function(){
console.log("setTimeout");
}, 5000);
// 取消定时器
clearTimeout(timeoutID);
var intervalID = setInterval(function(){
console.log("setInterval");
}, 2000);
// 取消定时器
clearInterval(intervalID);
- 注意事项:
- 由于 JavaScript 是单线程执行的,所以即使是定时器也是在特定的时间点才会执行,而不是精确的时间间隔。
- 定时器的执行时间可能会受到系统中其他进程的影响。
- 定时器的回调函数中可以包含另一个定时器,以此实现更复杂的操作。
评论已关闭