吃透 js 中原型链
创始人
2025-05-29 17:41:22
0

什么是原型链

原型链是一种对象继承机制,每个对象在内存中指向另一个对象,称之为原型,以此类推,组合成链式结构的相互引用,叫做原型链。

原型链有什么作用

原型链实现了继承,当你访问一个属性或者方法,对象本身没有,回去它的原型(改造函数)中寻找,如果没有,会继续往上查找,知道找打为止。

原型链为了减少代码冗余,提高代码复用性做出来重大贡献。如果你有一个方法,在多个地方使用,每次都需要重新定义,或者引入,使用原型链就可以简化操作。

prototype 介绍

作为函数时只需关注prototype 属性即可
prototype属性的作用就是让该函数所实例化的对象们都可以找到公用的属性和方法

在这里插入图片描述
在这里插入图片描述

proto 、constructor 介绍

作为对象时需要关注__proto__ 、constructor 。
__proto__属性的作用就是当访问一个对象的属性时,如果该对象内部不存在这个属性,那么就会去它的__proto__属性所指向的那个对象(父对象)里找,一直找,直到__proto__属性的终点null,再往上找就相当于在null上取值,会报错。通过__proto__属性将对象连接起来的这条链路即我们所谓的原型链。

在这里插入图片描述

相同点

  • _proto__和constructor属性是对象所独有的;
  • prototype属性是函数所独有的,因为函数也是一种对象,所以函数也拥有__proto__和constructor属性。

不同点

  • proto_ 和 prototype 返回构造函数的中的属性,比如:{constructor: ƒ, __defineGetter__: ƒ, __defineSetter__: ƒ, hasOwnProperty: ƒ, __lookupGetter__: ƒ, …}
  • constructor返回值是函数的引用,不是函数名,比如:Object() { [native code] }。。。

相关内容

热门资讯

美联储主席,人选生变!特朗普,... 下一任美联储主席人选突生变数。美东时间1月16日,美国总统特朗普在白宫活动中称赞其经济顾问凯文·哈塞...
125天后,贾国龙还是败了 九月份的一条微博,闹到现在我估计罗永浩也没想到,那条微博里的西贝甚至不是重点,“我刚下飞机”,老罗能...
贾国龙、罗永浩均被禁言,微博C... 西贝贾国龙与罗永浩线上之争持续受到关注。1月16日晚间,贾国龙启用久未更新的个人微博号宣布,在今晚1...
余承东:鸿蒙6.0系统计划将于... 6月11日消息,在今日的华为Pura80系列及全场景新品发布会上,余承东称,鸿蒙6.0系统计划将于2...
多协会联合发布倡议书,反对商品... 6月11日消息,近日,中国消费者协会联合中国包装联合会、中国循环经济协会、中国食品工业协会、中国快递...
保不准,人民币会闪击6.8! 最近半个月离岸人民币一直在7下方潜伏,几乎没有大的波动,异常地平静。 可是,人民币衍生品市场却格 外...
原创 赵... 大家追剧的时候最喜欢看什么呢?小妹儿最喜欢看的就是CP们甜甜蜜蜜的亲亲抱抱,而现如今的内娱,更是把C...
晶澳科技港股递表失效逾两月 超... 《金证研》南方资本中心 望山*DL/作者 西洲 映蔚/风控在证监会出具的境外发行上市备案补充材料要求...
16倍大牛股陷资本迷局,“AI... 本文来源:时代周报 作者:宋逸霆1月16日晚间,天普股份(605255.SH)发布关于对上交所问询函...
美股大型科技股集体上涨 1月16日,美股三大指数集体高开,标普500指数涨0.22%,道指涨0.18%,纳指涨0.44%。 ...