首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >原型链将如何断裂?

原型链将如何断裂?
EN

Stack Overflow用户
提问于 2020-12-07 09:44:23
回答 1查看 102关注 0票数 0

我试图在JavaScript .This关于MDN的文章中学习继承,解释原型链是如何工作的。

代码语言:javascript
复制
let f = function () {
   this.a = 1;
   this.b = 2;
}
let o = new f(); // {a: 1, b: 2}


f.prototype.b = 3;
f.prototype.c = 4; 

有评论说

代码语言:javascript
复制
// do not set the prototype f.prototype = {b:3,c:4}; this will break the prototype chain

这条链子怎么会断?我的猜测是,由于我们正在覆盖构造函数的原型对象,所以所有其他向上链的引用都丢失了,所以我们可以使用Object.create(someobject)将对象设置为f.prototype,这不会破坏链。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-07 10:01:28

代码语言:javascript
复制
f.prototype = Object.create(someobject);

对象的性质和方法在f.protoype对象中是可用的。因此,f的所有实例都具有这些方法和属性。

,为什么它不会断链?

Object.create()根据提供的(原型)参数直接构造一个对象。该参数本身(可能)具有通过其[原型]属性提供的所有引用。

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

https://stackoverflow.com/questions/65179320

复制
相关文章

相似问题

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