正如Mark Rejhon的答案所暗示的那样,现代浏览器中提供了一个API,该API可将亚毫秒分辨率的计时数据公开给脚本又名
window.performance.now()。
now()``Date.getTime()在两个重要方面优于传统:
now()
是具有毫秒级分辨率的双精度数,代表自页面导航开始以来的毫秒数。它以分数形式返回微秒数(例如,值1000.123为1秒和123微秒)。now()
在单调增加。因为这是重要的Date.getTime()
可可能是跳跃式前进或后退,甚至在随后的调用。值得注意的是,如果OS的系统时间已更新(例如原子时钟同步),Date.getTime()
则也会更新。now()
保证总是单调增加,因此它不受操作系统的系统时间的影响-它将始终是挂钟时间(假设挂钟不是原子钟…)。
now()可几乎每一个地方,用在
new Date.getTime(),
+ newDate和
Date.now()是。唯一的例外是,
Date与
now()时代不混合,如
Date基于UNIX的时期(自1970年以来的毫秒数),而
now()就是因为你的页面的导航启动(所以它会远小于毫秒数
Date)。
now()在Chrome稳定版,Firefox15+和IE10中受支持。。



