Function 对象的prototype只是一个属性,而所有对象都有[[prototype]]是一个内部属性,记做
[[prototype]]。
内部属性是不能访问的,某些实现,如SpiderMonkey和JavaScriptCore,会有一个__proto__属性,基本上
可以看成是[[prototype]]。

对于function f来说,new f()所产生的新对象,其内建属性[[prototype]]的值会被赋值为f.prototype的
值。

__proto__属性是一个对象,则它也有__proto__,这样就构成了prototype链。
x.isPrototypeOf(y)可以检测x是否是y的prototype链上的一环。

严格的说,(根据ECMA-262规范),所有函数初始化后,都有一个prototype属性,其值为new Object()。

2011-10-09 15:47:07

0

最新答案:

此问题还没有人回答,刚快抢个沙发吧!
没有您想要的答案吗? 浏览其他问题 问你自己的问题

赞助