返回

JavaScript 定时器所有类型,简化理解

前端


JavaScript 具有许多强大的定时器类型,可用来安排代码在特定时间或间隔执行。下面,我们将逐一探索每种定时器的用法和特性,助你掌握定时器的奥秘。

1. setInterval()

最常用的定时器之一,按照指定的周期(以毫秒计)重复执行函数。它会持续调用函数,直到调用 clearInterval() 方法或窗口被关闭。语法如下:

setInterval(callback, delay, ...args);
  • callback: 要执行的函数。
  • delay: 间隔时间,以毫秒为单位。
  • ...args: 可选参数,传递给回调函数的其他参数。

2. setTimeout()

setInterval() 类似,但只执行一次函数。语法如下:

setTimeout(callback, delay, ...args);
  • callback: 要执行的函数。
  • delay: 延迟时间,以毫秒为单位。
  • ...args: 可选参数,传递给回调函数的其他参数。

3. requestAnimationFrame()

在浏览器刷新前执行函数,用于动画和游戏开发。它以屏幕刷新率执行回调函数,确保动画流畅。语法如下:

requestAnimationFrame(callback);
  • callback: 要执行的函数。

4. clearInterval()

用于清除 setInterval() 创建的定时器。语法如下:

clearInterval(id);
  • id: 要清除的定时器 ID。

5. clearTimeout()

用于清除 setTimeout() 创建的定时器。语法如下:

clearTimeout(id);
  • id: 要清除的定时器 ID。

6. performance.now()

返回当前时间的毫秒数,用于精确测量定时器。语法如下:

performance.now();
  • 返回值:当前时间(以毫秒为单位)。


希望这篇精简的指南能帮助你掌握 JavaScript 定时器的精髓。通过灵活运用这些定时器,你能在项目中创造流畅的动画、精确的倒计时和定时执行的任务。