阅读关于JavaScript中Date
对象的上一个问题我在笔记本上指出了以下问题:
var date1 = new Date('2015','02','31');
命令:alert(date1.getDay());
正确运行!
我的计算机上使用IE和Chrome会发生什么? 如果我调试我看到:
__proto__
无效日期
为什么呢?我也把命令写成:
var date1 = new Date(2015, 2, 10);
但问题仍然存在。
非常感谢您的帮助
答案 0 :(得分:7)
在JavaScript中,继承基于对象。
出于某种原因 - 引擎设计者认为原型日期 - 每个日期对象继承的日期 - 将是无效日期是个好主意。它与Date.prototype
相同。 (Read about it here)
所有JavaScript对象都有(在ES6中,也是非规范性的)__proto__
方法,表示它们从哪个对象继承。
开发人员工具告诉您的是,您的日期对象是从原型日期继承的 - 这是一个无效的日期。你的约会对象很好。