[英]Why does Chrome Dev Tool show a dates __proto__ as Invalid Date?
我知道__proto__
已过时(或不是标准的一部分),但我仍然很好奇,当我查看__proto__
值时,它说无效日期是什么意思。
var myDate = new Date(1331869050000);
“我仍然对表示无效日期的含义感到好奇”
这只是Date
构造函数的prototype
对象的toString
值。
Date.prototype.toString(); // "Invalid Date"
如果愿意,可以覆盖它。
Date.prototype.toString = function() { return "I like turtles." };
var myDate = new Date(1331869050000);
myDate.__proto__; // I like turtles.
主题有点偏离,但是__proto__
在下一版ECMAScript(代号Harmony)的当前工作草案中。
http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts
- 添加了具有指定
__proto__
功能的B.3.1节。
考虑到您创建了一个新的Date对象,我不必担心。 原因是,如果您尝试以下代码:
var myDate = new Date(1331869050000);
alert(typeof myDate.getMonth != 'undefined') //true
这将确定您是继承Date对象的方法,并且实际上是定义了Date。
如果您想进一步调查,请看这篇文章。
Date实例的原型没有定义的值。 仅实例具有值。 您在实例化它时定义它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.