首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >何时使用__proto__,何时使用原型

何时使用__proto__,何时使用原型
EN

Stack Overflow用户
提问于 2013-04-24 17:23:30
回答 1查看 136关注 0票数 1

总之,我总是对对象的__proto__prototype属性感到困惑,特别是在prototype继承链中,假设有一个名为test的对象,代码如下。

代码语言:javascript
复制
test.add();//try to call a method name add.

据我理解,我画了一个图表来演示搜索的流程。但我不确定是否正确,.please帮助审查它,.thanks。

根据Minko的答案对其进行了修正。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-24 17:24:36

只有函数具有prototype属性,但任何对象都具有__proto__属性。

通常,更好地使用类似于__proto__的东西来显式地更改__proto__属性并不是个好主意。

下面是一个示例:

代码语言:javascript
复制
function Person() {
}
var proto = { bar: 'baz' };
Person.prototype = proto;

这样,使用构造函数Person创建的任何对象都将具有引用proto__proto__属性。

作为结论,我们可以说:

prototype属性仅用于构造函数,它设置将使用此构造函数创建的所有对象的__proto__属性。当解释器查找给定对象foo的属性时,它首先使用对象foo之后的对象foo,然后是foo.__proto__,然后是foo.__proto__.__proto__等等,然后才能找到该属性。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16198371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档