【发布时间】:2013-05-27 14:23:52
【问题描述】:
Number.prototype=
{
constructor:Number
min:10,
max:15
};
var obj=new Number();
alert(obj.min);
在这里,我为默认的Number 构造函数创建了一个新原型。
然后创建Number 的新实例并将其存储在obj 中。
由于我在原型分配之后创建了一个实例,因此我希望 obj.min 将返回 10 但它正在返回 undefined。
我假设因为新创建的Number.prototype 的构造函数属性指向同一个Number 构造函数,所以实例obj 的[PROTOTYPE] 属性指向新创建的原型。
我认为问题在于假设,obj 的[PROTOTYPE] 属性指向原始默认原型。
【问题讨论】:
-
您在“数字”之后忘记了逗号;)
-
根据规范,
Number.prototype是只读的:es5.github.io/#x15.7.3.1。 @Andre:一定是帖子中的错字,否则alert永远不会被执行。
标签: javascript oop object prototype