性能 – 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;