📅  最后修改于: 2023-12-03 14:47:25.527000             🧑  作者: Mango
setInterval()
是JavaScript中常用的一个函数,用于每隔一段时间(单位是毫秒)重复执行指定的代码。它的基本语法是:
setInterval(func|code, delay, arg1, arg2, ...)
其中,第一个参数可以是一个函数名,也可以是一个直接执行的JavaScript代码;第二个参数表示时间间隔,即每隔多少毫秒执行一次指定的代码;第三个参数以后都是可选参数,表示传递给指定代码的参数。
setInterval()
的执行是在一个单独的线程中完成的,不会阻塞主线程。但是在某些情况下,我们需要在指定的时间间隔内执行完指定的代码并结束 setInterval()
的循环。这时,我们可能会考虑使用 break
关键字来跳出循环,但是这种做法并不可取。
由于 setInterval()
的执行在一个单独的线程中完成,所以我们无法使用 break
关键字来跳出循环。使用 break
关键字只能跳出当前代码块或循环,而不是跳出 setInterval()
的循环。
我们可以使用 clearInterval()
函数来解决这个问题。该函数可以停止 setInterval()
的循环执行。具体用法是:
const intervalId = setInterval(func|code, delay, arg1, arg2, ...);
clearInterval(intervalId);
其中,intervalId
是 setInterval()
返回的唯一标识符,表示整个循环执行的 ID。我们可以根据这个 ID 来停止循环的执行。
通过将 clearInterval()
函数放在需要跳出循环的条件语句中,就可以在满足条件时停止 setInterval()
的执行,从而达到跳出循环的目的。
let count = 0;
const intervalId = setInterval(() => {
count++;
console.log(count);
if(count >= 3) {
clearInterval(intervalId);
}
}, 1000);
在上述示例中,我们定义了一个变量 count
并赋初值为 0。然后使用 setInterval()
来每隔一秒钟输出一次 count
的值,并在 count
的值大于等于 3 时停止执行 setInterval()
的循环。具体实现就是在 if 语句中调用 clearInterval()
函数来停止循环的执行。