关于javascript对象原型的问题

图片中[[prototype]]指的是什么?... 图片中[[prototype]]指的是什么? 展开
 我来答
114623snow
2013-11-27 · TA获得超过2849个赞
知道小有建树答主
回答量:606
采纳率:0%
帮助的人:386万
展开全部

是这样的,在图中,SubType指的是一个构造函数,每个构造函数都有一个原型属性prototype,默认指向他的原型对象:SubType Prototype。

instance是由构造函数SubType构建的一个实例对象,实例对象继承了构造函数原型的方法和属性,同时实例和原型之间的联系就是通过某个属性联系的,在图中就表现为[[Prototype]],这个属性怎么表示不重要,重要的是你知道他的存在,并且通过他实例才能和原型联系起来,构造函数只是一个表现形式,原型对象才是真正给实例继承的。

在图中instance的[[Prototype]]和SubType的 prototype指向的是同一个原型对象。

你在chrome中可以通过:

console.log(SubType.prototype);
console.log(instance.__proto__);

来看他们的输出:

都是指向SuperType{}原型对象。

所以说[[Prototype]]只是一个表示符号,表示实例指向原型对象的一种关系,就像上面这种关系就用__proto__来表示了。

希望能帮到你,采纳我把,(*^__^*) 嘻嘻。

江城Spring
2013-11-27 · TA获得超过1202个赞
知道小有建树答主
回答量:763
采纳率:0%
帮助的人:353万
展开全部
javascript中的每个对象都有prototype属性,Javascript中对象的prototype属性的解释是:返回对象类型原型的引用。

A.prototype = new B();

理解prototype不应把它和继承混淆。A的prototype为B的一个实例,可以理解A将B中的方法和属性全部克隆了一遍。A能使用B的方法和属性。这里强调的是克隆而不是继承。可以出现这种情况:A的prototype是B的实例,同时B的prototype也是A的实例。
追问
我想知道prototype外面为什么要加上[[]]这样的符号?代表什么意思?
追答
应该是表示一种特性吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式