performance.now():返回值表示为从time origin之后到当前调用时经过的时间,
time origin: 时间源,
时间源是一个可以被认定为当前文档生命周期的开始节点的标准时间,计算方法如下:
Window
, 则时间源的确定方式如下: Document
是中加载的第一个 Window
, 则时间源是创建浏览器上下文的时间。Document
的导航发生的时机。WorkerGlobalScope
(意味着,该脚本以 web worker 的形式运行), 则时间源是这个 worker 被创建的时刻。 Date.now():Date.now()
方法返回自 1970 年 1 月 1 日 00:00:00 (UTC) 到当前时间的毫秒数。
Date.now
)不同的是,window.performance.now()
返回的时间戳没有被限制在一毫秒的精确度内,相反,它们以浮点数的形式表示时间,精度最高可达微秒级。window.performance.now()
是以一个恒定的速率慢慢增加的,它不会受到系统时间的影响(系统时钟可能会被手动调整或被 NTP 等软件篡改)。另外,performance.timing.navigationStart + performance.now()
约等于 Date.now()
。performance.now()-performance.now()
// 分别为两个时刻的 performance.now()
优点:
0.1ms ~ 0.005ms
之间);缺点:
Date.now()
那样直接返回现在距离 1970 年那个起始时间的毫秒数。console.time("耗时")
for(let i=0;i<1000;i++){
console.log(i)
}
console.timeEnd("耗时")
// 耗时: 38.914794921875 ms
优点:
console.time('耗时')
和 ··console.timeEnd('耗时')··,他也能计算出时间差异;缺点:
前后两个时间相减即可。
优点:
缺点:
参考文档:
https://developer.mozilla.org/zh-CN/docs/Web/API/Performance/now
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date/now
https://developer.mozilla.org/zh-CN/docs/Web/API/DOMHighResTimeStamp#the_time_origin
https://zhuanlan.zhihu.com/p/570601679
https://blog.csdn.net/weixin_34240657/article/details/91422212