JavaScript新的Date()问题

时间:2015-04-02 19:02:41

标签: javascript

阅读关于JavaScript中Date对象的上一个问题我在笔记本上指出了以下问题:

var date1 = new Date('2015','02','31');

命令:alert(date1.getDay());正确运行!

我的计算机上使用IE和Chrome会发生什么? 如果我调试我看到:

  

__proto__无效日期

为什么呢?我也把命令写成:

var date1 = new Date(2015, 2, 10);

但问题仍然存在。

非常感谢您的帮助

1 个答案:

答案 0 :(得分:7)

这不是一个错误,完全可以预料。

在JavaScript中,继承基于对象。

出于某种原因 - 引擎设计者认为原型日期 - 每个日期对象继承的日期 - 将是无效日期是个好主意。它与Date.prototype相同。 (Read about it here

所有JavaScript对象都有(在ES6中,也是非规范性的)__proto__方法,表示它们从哪个对象继承。

开发人员工具告诉您的是,您的日期对象是从原型日期继承的 - 这是一个无效的日期。你的约会对象很好。