js中的计时器

js中的计时器

setTimeout()&setInterval()

计时器能做到精确计时吗?
不能

  1. 计算机的硬件没有原子钟,无法做到精确计时

原子钟:Atomic clock,是一种时钟,它以原子共振频率标准来计算及保持时间的准确。原子钟是世界上已知最准确的时间测量和频率标准,也是国际时间和频率转换的基准,用来控制电视广播和全球定位系统卫星的讯号。

  1. 操作系统的计时函数本身就有偏差,而js的计时器最终调用的是操作系统的计时函数,也就携带了这些偏差
  1. 按照w3c标准,浏览器实现计时器时,如果嵌套层级超过5层,则会带有4ms的最少时间,
    如果设置的时间少于4ms,就会有偏差

在这里插入图片描述
在这里插入图片描述

  1. 受事件循环影响,计时器的回调函数只有在渲染主线程空闲时,才会被执行

消息队列优先级别高于延时队列的都会影响计时器回调函数的执行时机

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值