javascript中新的Date()。valueOf()和新的Date()* 1之间的区别

时间:2014-01-20 15:03:18

标签: javascript

之间有什么区别
new Date().valueOf() 

new Date() * 1

两者都给出相同的价值,是否有任何性能差异? (只是出于好奇)

2 个答案:

答案 0 :(得分:6)

在乘法表达式中使用对象隐含地涉及到.valueOf()的调用,因此根本没有区别。也就是说,表达方式

new Date() * 1
解释

涉及尝试将*运算符左侧的操作数作为数字。这就是.valueOf()方法应该做的事情。对于Date实例,返回毫秒时间戳值。

请注意

Date.now()

也是等同的。 (不是new Date().now();" now"函数是Date构造函数的属性。)

答案 1 :(得分:3)

你可以在这里看到:

http://jsperf.com/new-date-test-1

(new Date()).valueOfnew Date() * 1

看起来new Date() * 1需要执行操作,之后才调用.valueOf方法。

希望它有所帮助。