Javascript 它将返回什么新日期(DateObject)?

Javascript 它将返回什么新日期(DateObject)?,javascript,date,Javascript,Date,var DateObj=新日期(日期字符串); var日期=新日期(DateObj) 日期到底是几号?它仍然是这样的日期对象吗 我刚刚在我正在做的项目中看到了这段代码,所以我很好奇它到底做了什么。还有,我不会这么做,但我想知道为什么不这么做 new Date(dateString); 将返回日期对象的实例 返回日期对象 日期变量现在将设置为日期对象的实例。在这个范围内,您现在已经有效地覆盖了日期对象 不要这样做 日期到底是几号?它仍然是这样的日期对象吗 使用操作员可以很容易地进行检查: var

var DateObj=新日期(日期字符串);
var日期=新日期(DateObj)

日期到底是几号?它仍然是这样的日期对象吗

我刚刚在我正在做的项目中看到了这段代码,所以我很好奇它到底做了什么。还有,我不会这么做,但我想知道为什么不这么做

new Date(dateString);
将返回日期对象的实例

返回日期对象

日期变量现在将设置为日期对象的实例。在这个范围内,您现在已经有效地覆盖了日期对象

不要这样做

日期到底是几号?它仍然是这样的日期对象吗

使用操作员可以很容易地进行检查:

var DateObj = new Date();
var DateObj2 = new Date(DateObj);

console.log(DateObj2 instanceof Date); // true
所以简短的回答是肯定的,它将是
Date
instance

更长的回答。如果您对将日期对象传递到
newdate
构造函数中会发生什么感兴趣,则需要参考ECMAScript规范

第节描述行为:

  • 设v为(值)

  • 因此,算法的第一步要求将传递的值转换为原始值。对于对象类型(如日期),基元值为。最后,对于日期对象和
    toString
    方法都返回一个数字-

    是的,我觉得这也不好,但我在某处看到过,我只是想知道为什么不这么做?
    var DateObj = new Date();
    var DateObj2 = new Date(DateObj);
    
    console.log(DateObj2 instanceof Date); // true