前端 JS 中的计时器能做到精确计时吗?为什么?

参考答案:
不⾏,因为:

  1. 计算机硬件没有原⼦钟,⽆法做到精确计时
  2. 操作系统的计时函数本身就有少量偏差,由于 JS 的计时器最终调⽤的是操作系统的函数,也就携带了这些偏差
  3. 按照 W3C 的标准,浏览器实现计时器时,如果嵌套层级超过 5 层,则会带有 4 毫秒的最少时间,这样在计时时间少于 4 毫秒时⼜带来了偏差
  4. 受事件循环的影响,计时器的回调函数只能在主线程空闲时运⾏,因此⼜带来了偏差
posted @ 2023-03-08 13:33  脆皮鸡  阅读(70)  评论(0)    收藏  举报