var DateObj = new Date(dateString);
var Date = new Date(DateObj);
实际上是什么日期?它仍然是这样的约会对象吗?
我刚刚在我正在研究的项目中看到了这个代码,所以我很好奇它实际上做了什么。另外,我不会这样做,但我想知道为什么不这样做?
答案 0 :(得分:0)
new Date(dateString);
将返回日期对象http://www.w3schools.com/jsref/jsref_obj_date.asp
的实例new Date(DateObj)
返回日期对象
现在,您的Date变量将设置为Date对象的实例。在此范围内,您现在可以有效地覆盖日期对象。
不要这样做。答案 1 :(得分:0)
实际上是什么日期?它仍然是这样的日期对象吗?
使用instanceof
运算符检查非常简单:
var DateObj = new Date();
var DateObj2 = new Date(DateObj);
console.log(DateObj2 instanceof Date); // true
所以简短的回答是肯定的,它将是Date
实例。
更长的答案。如果您对将Date对象传递给new Date
构造函数时究竟发生了什么感兴趣,则需要参考ECMAScript规范。
第15.9.3.2 new Date(value)节描述了行为:
因此算法的第一步要求将传递的值转换为原始值。对于Object类型(如Date),原始值为"default value for the Object"。最后,对于Date对象,valueOf
和toString
方法都返回一个数字 - current timestamp。