在JavaScript中,setInterval()
和setTimeout()
是两个常用的定时器函数。
setInterval()
函数允许您按照指定的时间间隔重复执行代码块。该函数接受两个参数:要执行的代码和时间间隔(以毫秒为单位)。
setInterval(function() {
// 执行的代码块
}, 1000); // 每隔1秒执行一次
setTimeout()
函数允许您在指定的延迟后执行一次代码块。该函数接受两个参数:要执行的代码和延迟时间(以毫秒为单位)。
setTimeout(function() {
// 执行的代码块
}, 3000); // 延迟3秒执行
需要注意的是,
setInterval()
和setTimeout()
都返回一个唯一的定时器ID,您可以使用该ID来取消定时器的执行。
例如,通过存储定时器ID的返回值,并使用clearInterval()
函数来取消重复执行的定时器:
const interval = setInterval(function() {
// 执行的代码块
}, 1000);
// 在某个条件下取消定时器
if (someCondition) {
clearInterval(interval);
}
使用setTimeout()
函数创建定时器时,可以使用clearTimeout()
函数来取消定时器执行。
// 创建一个 setTimeout 定时器
const timeoutID = setTimeout(function() {
console.log('这条消息将在3秒后显示');
}, 3000);
// 在2秒后取消定时器的执行
setTimeout(function() {
clearTimeout(timeoutID); // 取消定时器
console.log('定时器已被取消,消息不会显示');
}, 2000);
在上面的示例中,我们首先使用setTimeout()
函数创建了一个在3秒后显示消息的定时器,并将返回的定时器ID存储在timeoutID
变量中。然后,在2秒后,我们调用另一个 setTimeout()
函数,并在其中调用clearTimeout(timeoutID)
来取消之前设置的定时器。因此,最终消息不会在控制台中显示。