2026-01-17 12:30:11
SetInterval与SetTimeout是JavaScript中用于实现延迟执行和规律性执行的关键函数。
SetTimeout: 功能:在指定的延迟时间后执行一次指定的代码。 用法:setTimeout。其中expression可以是一个函数名或带引号的代码片段,milliseconds表示延迟的时间,单位为毫秒。 取消:已设置的setTimeout可以通过调用clearTimeout来取消。timeoutId是setTimeout调用时返回的一个唯一标识符。
SetInterval: 功能:按照设定的时间间隔规律性地重复执行指定的代码,直到显式调用clearInterval来终止。 用法:setInterval。参数与setTimeout相同,但setInterval会不断重复执行指定的代码。 取消:通过调用clearInterval来停止已设置的setInterval。intervalId是setInterval调用时返回的一个唯一标识符。
参数传递: 在使用setTimeout或setInterval时,如果需要传递参数给执行的函数,可以通过两种方法实现: 方法一:定义一个返回匿名函数的函数。在外部函数内部使用变量保存参数,并返回一个不带参数的函数句柄。这样,在调用setTimeout或setInterval时,可以传递这个不带参数的函数句柄,而参数已经在外部函数中定义。 方法二:通过重新定义setInterval的调用方式,直接在内部函数中传入参数。这种方法通过包装函数实毁闹现参数的传递。
总结: setTimeout适用于只需要延迟执行一次的场景。 setInterval适用于需要按照固定时间间隔不断重复执行的场景。 在使用这两个函数时,需要注意合理管理它们的唯一标识符,以便在纤樱罩需要时能够颂备正确地取消定时器。