文章目录

  • 回顾 Date.now()
  • 了解 performance.now()
  • performance.now:是浏览器(Web API)提供的方法,不同浏览器获取到的精度不同。
  • Date.now:是Javascript内置方法,差异主要在于浏览器遵循的ECMAScript规范。

回顾 Date.now()

  • Date.now() :返回自 1970 年 1 月 1 日 00:00:00 (UTC) 到当前时间的毫秒数
  • Date.now() 约等于 performance.timing.navigationStart + performance.now()
let start = Date.now();
// 调用一个耗时间的循环
for (let i = 0; i < 100000; i++) {let doSomething = i * i;
}
let end = Date.now()// 从格兰威特时间到至今(循环开始前)的时间戳
console.log('开始时间:', start);   // 1666781986873
console.log('结束时间:', end);     // 1666781986873
// 以毫秒计的运行时长
console.log('运行时长:',end - start)   // 0 毫秒

了解 performance.now()

  • 注意:performance.now 虽然是基于毫秒精度的时间,但是能精确到微秒级别,其数值的小数部分代表了一个毫秒的小数(也就是微秒)
  • 如果浏览器不能提供精确到微秒的时间值 (例如,由于硬件或软件的限制),那么他们只能精确到毫秒。
  • Date.now():返回的时间戳没有被限制在一毫秒的精确度内,小于 1ms 的测试不出来结果。
  • performance.now():返回的时间戳以双精度浮点数 double 的形式表示时间,精度最高可达微秒级。
let start = performance.now();
// 调用一个耗时间的循环
for (let i = 0; i < 100000; i++) {let doSomething = i * i;
}
let end = performance.now()// 返回的时间戳,是自创建上下文以来经过的时间,跟打开网页的时间有关,但是这不是绝对的。
// 如果返回的值是178764.00000002384185791 这类的,这种的会被处理为 178764
console.log('开始时间:', start);   // 178764
console.log('结束时间:', end);     // 178764.10000002384
// 以毫秒计的运行时长
console.log('运行时长:',end - start)   // 0.10000002384185791 毫秒

扩展:1s =1000ms(毫秒) = 1000000(微秒),即1毫秒 = 1000微秒

【JS】performance.now 方法(类似于Date.now)相关推荐

  1. js中text方法是啥意识_一盏茶的时间,快速捕获JS中常用的方法(细心整理,持续更新ing)...

    不知不觉上班一周辽-趁着大好周末,小编挣扎着从床上爬起来,决定对前端日常编程中常用到的一些方法做一个系统的整合. 有些人或许会觉得忘了百度就完事儿,no no no!这事儿小编真的亲践过好多次,百度一 ...

  2. Node.js与Sails~方法拦截器policies

    policies sails的方法拦截器类似于.net mvc里的Filter,即它可以作用在controller的action上,在服务器响应指定action之前,对这个action进行拦截,先执行 ...

  3. js中获取时间new date()的用法

    获取时间: var myDate = new Date();//获取系统当前时间 获取特定格式的时间: 1 myDate.getYear(); //获取当前年份(2位) 2 myDate.getFul ...

  4. JS常用属性方法大全

    JS常用属性方法大全 1.输出语句:document.write(""); 2.JS中的注释为: 3.传统的HTML文档顺序是:document->html->(hea ...

  5. 面试官问:能否模拟实现JS的bind方法(高频考点)

    可以点击上方的话题JS基础系列,查看往期文章 写于2018年11月21日,发布在掘金阅读量1.3w+ 前言 这是面试官问系列的第二篇,旨在帮助读者提升JS基础知识,包含new.call.apply.t ...

  6. js 操作cookies 方法

    js 操作cookies 方法var str=""; //JS操作cookies方法! //Expires 设置Cookie的有效期限 //Domain 添加域名限制 //Path ...

  7. html5-svg和Two.js的使用方法(附案例)

    * svg * 基本内容 * SVG不属于HTML5专用内容 * HTML5提供有关SVG原生的内容 * 在HTML5出现之前,就有SVG内容 * SVG简单来说就是矢量图 * SVG文件扩展名为&q ...

  8. 原生js调用json方法

    原文链接 Ajax基础 ajax:无刷新数据读取,读取服务器上的信息 HTTP请求方法: GET:用于获取数据,如浏览帖子 ajax.judgeXmlHttpRequest('get', 'index ...

  9. 【JS教程】100+常用JS函数(方法)

    为什么80%的码农都做不了架构师?>>>    100+常用JS函数(方法) 1. document.write("");为 输出语句 2. JS中的注释为// ...

最新文章

  1. 网闸与防火墙的区别是什么
  2. 解决Fiddler无法抓到手机的会话包
  3. python while循环语句-python循环语句讲解(一):while循环
  4. Squid正向代理矩阵
  5. 前端临床手扎——简单易用的fetch
  6. 大型电子商务网站架构之--分布式可扩展数据库架构
  7. c语言奇数值结点链表,习题11-7 奇数值结点链表 (20 分)
  8. dblinq mysql_DBLinq mysql辅助脚本
  9. C++ 应用程序性能优化
  10. Linux——Ubuntu 18.04 安装screenFetch(显示系统/主题信息的命令行脚本)
  11. Windows 全新终端 Windows Terminal
  12. linux系统中清空文件内容的三种方法
  13. dotnet new -i Microsoft.Maui.Templates
  14. python高中题_python练习题
  15. 如何添加虚拟PDF打印机
  16. html egg mac os 10.7,10.7、10.8 MAC OS原版通用安装教程
  17. jQuery实现鼠标滑过图片放大效果
  18. 指数型基金今年来收益排行榜
  19. numpy之histogram
  20. 数据库中update怎么用事例_Oracle的update语句set里使用子查询的例子解释

热门文章

  1. 这个平台展示了如何使用AI预测股市走向
  2. echarts实现气泡图(气泡之间不叠加)
  3. 面试了一个程序员,只因这一个细节,被我一眼看穿是培训班出来的,没啥工作经验...
  4. Android推送机制的实现原理
  5. 黄帝内经.素问.宣明五气篇(23)
  6. LPC11C14通信接口之I2C
  7. day11C语言递归
  8. php游戏礼包源码,php 游戏新手卡领号程序管理系统 v2.5
  9. ijkplayer ffmpeg x264 android 编译
  10. sqlcmd 实用工具