性能 – Date.now()与Date.getTime()

var timeInMs = Date.now(); 

每MDN

 var timeInMs = new Date(optional).getTime(); 

每MDN 。

两者之间是否有任何区别,除了语法和在第二个版本中通过可选的设置date(不是当前的)的能力?

Date.now()更快 – 检查jsperf

这些东西是一样的( 编辑语义;性能是一个更好的.now() ):

 var t1 = Date.now(); var t2 = new Date().getTime(); 

但是,任何已经创build的Date实例的时间值在构build时(或者在其设置的任何时间/date)被冻结。 也就是说,如果你这样做:

 var now = new Date(); 

然后等一会儿,随后调用now.getTime()会告诉在variables被设置的时间点。

它们实际上是等效的,但是你应该使用Date.now() 。 它更清晰,快两倍。

编辑:来源: http : //jsperf.com/date-now-vs-new-date

当你这样做(new Date()).getTime()你正在创build一个新的date对象。 如果你反复这样做,它会比Date.now()慢两倍

Array.prototype.slice.call(arguments, 0) vs [].slice.call(arguments, 0)

对,那是正确的; 在使用当前时间时它们是等效的。

有时候最好在Date对象格式中保留一些时间跟踪variables,而不是仅仅几毫秒,以便能够访问Date的方法而不需要重新实例化。 在这种情况下,Date.now()仍然胜过新的Date()等,尽pipe我的Chrome只有20%左右,IE上只有一小部分。

看我的JSPERF

 timeStamp2.setTime(Date.now()); // set to current; 

 timeStamp1 = new Date(); // set to current; 

http://jsperf.com/new-date-vs-settime