首页 > 其他分享 >JS 中的计时器能做到精确计时吗?为什么?

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

时间:2023-03-08 13:46:17浏览次数:41  
标签:偏差 JS 毫秒 计时器 精确 计时

参考答案:
不⾏,因为:

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

标签:偏差,JS,毫秒,计时器,精确,计时
From: https://www.cnblogs.com/crispyChicken/p/17191739.html

相关文章

  • 阐述⼀下 JS 的事件循环
    事件循环⼜叫做消息循环,是浏览器渲染主线程的⼯作⽅式。在Chrome的源码中,它开启⼀个不会结束的for循环,每次循环从消息队列中取出第⼀个任务执⾏,⽽其他线程只需要在合......
  • js 简单的深拷贝
    本题是通过@郝晨光 的文章受到的启发,学习来的,大家有兴趣可以看一下,而且我觉得这种写法非常通俗易懂,工作中也足够去使用了。functionDeepClone(target){letresult......
  • JS上传文件夹的三种解决方案
    ​ 第一点:Java代码实现文件上传FormFilefile=manform.getFile();StringnewfileName= null;Stringnewpathname= null;StringfileAddre= "/numUp";try{......
  • 4_JSON格式
    ​ AJAX数据格式处理响应普通文本数据如果服务器给我们响应的数据非常简答,那么使用字符串就好了,不需要我们做复杂的处理,后台编码也简单.页面代码<%@pageconten......
  • js中 getTime 注意的点
     坐标:北京 问题:一直以为newDate(1970,0,1,0,0,0).getTime()===0实际newDate(1970,0,1,8,0,0).getTime()===0 详细: 摘自菜鸟  ......
  • 4_JSON格式
    ​ AJAX数据格式处理响应普通文本数据如果服务器给我们响应的数据非常简答,那么使用字符串就好了,不需要我们做复杂的处理,后台编码也简单.页面代码<%@pageconten......
  • js读取href中的参数函数
    functionGetQueryValue(queryName){ varquery=decodeURI(window.location.search.substring(1)); varvars=query.split("&"); for(vari=0;i<vars.lengt......
  • VSCode调试js代码的几种方式
    背景  在leetcode刷题时需要调试js代码  代码写在.js文件中 方式一node.js  安装node.js  配置launch.json      左侧【运行和调试】,【F5】启动调......
  • js 判断字节流是否可以按照utf8编码转成字符串
    下面的代码是我网上找的其他语言的实现方式改的js版本的,原版本的地址找不见了,但是我们还是要先感谢下原版本的作者不同于原版本,因为UTF8兼容ASCII,纯ASCII字节流也能用utf8......
  • js变量类型判断
    js变量类型判断方式首先我们知道js中若想验证某个值是否为null,应该使用操作符===,==无法区分null和undefined;定义一组变量,适用于全文;letnum =123;letnum1=1/......