Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么+;new Date()返回与new Date()相同的值。getTime()?_Javascript_Date - Fatal编程技术网

Javascript 为什么+;new Date()返回与new Date()相同的值。getTime()?

Javascript 为什么+;new Date()返回与new Date()相同的值。getTime()?,javascript,date,Javascript,Date,我读了一些源代码,找到了这个。为什么+new Date()返回与new Date()相同的值。getTime()?背后的机制是什么 var date = new Date() +data == date.getTime() // true 将操作数转换为数字。在该过程中,将调用,它执行与相同的计算。将操作数转换为数字。在该过程中,将调用,它执行与.相同的计算,这是因为一元+运算符在字符串以外的类型上使用时,将在内部调用valueOf。对于日期,它在功能上等同于date.prototype.ge

我读了一些源代码,找到了这个。为什么+new Date()返回与new Date()相同的值。getTime()?背后的机制是什么

var date = new Date()
+data == date.getTime() // true

将操作数转换为数字。在该过程中,将调用,它执行与相同的计算。

将操作数转换为数字。在该过程中,将调用,它执行与.

相同的计算,这是因为一元
+
运算符在字符串以外的类型上使用时,将在内部调用
valueOf
。对于日期,它在功能上等同于
date.prototype.getTime
,因为两者的执行相同。

这是因为一元
+
运算符在字符串以外的类型上使用时,将在内部调用
valueOf
。对于日期,它在功能上等同于
date.prototype.getTime
,因为两者的执行相同。

为什么不呢?请注意,
date.valueOf()
也返回相同的值,为什么不返回呢?请注意,
date.valueOf()
也返回相同的值,这与我说的有什么不同?;)FWIW,
Date.prototype.valueOf
当然只有在值是日期对象时才被调用,而不是其他类型的值。@FelixKling我当时正在写答案。我不会过多考虑时间戳特权。这和我说的有什么不同吗?;)FWIW,
Date.prototype.valueOf
当然只有在值是日期对象时才被调用,而不是其他类型的值。@FelixKling我当时正在写答案。我不会过多考虑时间戳特权。