定时器(Timer)是 JavaScript 中用于延迟执行代码或周期性重复执行代码的机制。在 JavaScript 中,你可以使用两种主要类型的定时器:setTimeout()
和 setInterval()
。
-
setTimeout():
setTimeout()
用于在一定时间后执行一次指定的函数或代码块。它接受两个参数:要执行的函数或代码块以及延迟的毫秒数。setTimeout(function() { console.log('这段代码将在2秒后执行'); }, 2000); // 2000毫秒 = 2秒
在上述示例中,
setTimeout()
将在2秒后执行传递的函数,即在控制台输出一条消息。 -
setInterval():
setInterval()
用于以指定的时间间隔重复执行指定的函数或代码块。它也接受两个参数:要执行的函数或代码块以及时间间隔的毫秒数。setInterval(function() { console.log('这段代码将每隔3秒执行一次'); }, 3000); // 3000毫秒 = 3秒
在上述示例中,
setInterval()
将每隔3秒执行一次传递的函数,即在控制台输出一条消息。
需要注意的是,虽然定时器可以用于执行延迟或周期性的任务,但过多的定时器可能会导致性能问题。确保谨慎使用定时器,并在不需要时及时清除它们,可以使用 clearTimeout()
和 clearInterval()
来取消 setTimeout()
和 setInterval()
创建的定时器。
例如,要取消之前创建的 setTimeout()
:
const timeoutId = setTimeout(function() {
console.log('这段代码将在2秒后执行');
}, 2000);
// 取消定时器
clearTimeout(timeoutId);
或者取消之前创建的 setInterval()
:
const intervalId = setInterval(function() {
console.log('这段代码将每隔3秒执行一次');
}, 3000);
// 取消定时器
clearInterval(intervalId);
这样可以避免不必要的任务重复执行,提高代码的效率。