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
的{{1}}属性指向新创建的原型。
我认为问题在于假设,并且[PROTOTYPE]
的{{1}}属性指向原始默认原型。
答案 0 :(得分:4)
ECMAScript定义的核心类型的prototype属性(Object
,Number
,Boolean
,Array
,String
,Function
,{ {1}},Error
)是只读的,您无法将其替换为您自己的。
但你可以扩展它:
RegExp