【JS】setInterval和clearInterval

106 阅读1分钟

setInterval

概述

setInterval()重复调用一个函数或执行一个代码片段,在每次调用之间具有固定的时间间隔。它会接收两个参数:functiondelay,代表要执行的函数、代码和时间延迟(以毫秒为单位)。setInterval函数会返回一个intervalID,可以唯一地标识时间间隔,然后通过调用clearInterval()来移出定时间器

语法

//setInterval(function,delay)接收参数
const intervalId = setInterval(func,delay);
const intervalId = setInterval(code,delay);
//intervalId是一个非零数值,可以标识setInterval()创建的定时器,可以作为clearInterval的参数来清楚对应的定时器

clearInterval

概述

clearInterval()用于取消先前通过调用setInterval()建立的定时重复操作,接收的一个参数是由setInterval()返回的间隔ID

语法

clearInterval(intervalID)//interval参数代表setInterval创建的间隔的唯一ID,

通过使用适当的间隔ID调用clearInterval,可以有效地停止指定的函数重复执行,它取消了预定的间隔,阻止了对指定函数的进一步调用

使用

 const timer = setInterval(() => fn(...args), t);
 
 clearInterval(timer);

注意 setInterval() 和 setTimeout() 共享同一个 ID 池,可以使用clearInterval()和clearTimeout()中的任意一个,但尽量少使用。