假设我有两个功能
function newDate(){
return +new Date();
}
function dateNow(){
return Date.now();
}
所以我想知道一个人返回 + new Date()和另一个 Date.now()会有所不同吗?
答案 0 :(得分:2)
根据规范:
15.9.4.4 Date.now()
now函数返回一个Number值,该值是指定UTC 现在调用的日期和时间的时间值。15.9.3.3新日期()
新构造的对象的[[PrimitiveValue]]内部属性设置为标识当前时间的时间值(UTC)。
将Date
创建的new Date()
对象强制转换为带有一元+
运算符的数字会产生原始值。因此,你的两个案例是否总是相同的问题归结为以下两件事是否相同:
这似乎是一个很好的选择。
chrome(v49)控制台返回:
x = Date.now(), y1 = +new Date(), y2 = new Date();
x returns 1463201841680
y1 returns 1463201841680
y2 returns Sat May 14 2016 06:57:21 GMT+0200
答案 1 :(得分:1)
他们给出相同的价值。在chrome devtools控制台中验证
Date.now() === +new Date()
> true
但是,使用Date.now()
可以提高性能