performance.now() VS Date.now()

performance.now() VS Date.now()

最近在研究THREE.js时,Clock方法的解释中有这么一段话:

Object for keeping track of time. This uses performance.now() if it is available, otherwise it reverts to the less accurate Date.now()。

上面这句话提到perfromance.now()相对来说精确度更高,但是不明白二者区别,故在看完之后总结一下。

介绍

performance.now()
    performance.now()是关联于页面加载,量级上精度更高,适用于高进度需求的场景。比如作为一个基准点或则游戏、音频、视频等所需精度很高的地方。

Date.now()
    Date,now()是Unix时间(1970-01-01T00:00:00Z)同时依靠系统时间,会因为系统时间的变化而改变,准确性有时不能保证,通用性比较高。

兼容性

Date.now()是通用的,没有兼容性问题,performance.now()的兼容性如下:
![performance.now()兼容性](https://img-blog.csdn.net/20180521175545409?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2p1bmp1bmFpamlqaQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

优缺点

  1. performance.now()精确点高,不依靠系统时间,但是兼容性有问题。
  2. Date.now()会受系统时间影响,且以Unix时间为基准,不易看懂,无兼容性问题。

你可能感兴趣的:(html5,js)