吃透 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] }。。。

相关内容

热门资讯

河南夫妇冒雨移开折断大树,“不... 评论员 陈柯旭 折断的大树能挡住马路,但挡不住普通人身上的微光。 近日,在河南驻马店突降暴雨,一棵大...
现货黄金跌破4300美元关口 8日,现货黄金盘中跳水,跌破4300美元/盎司,跌超0.6%。 消息面上,据新华社,当地时间7日晚,...
英法德联合出手! 文丨陆弃 当英国首相斯塔默、法国总统马克龙和德国总理默茨准备与乌克兰总统泽连斯基在伦敦举行会晤时,外...
两个月来伊以首次互袭,特朗普想... 当地时间6月7日,伊朗向以色列发射了四轮导弹袭击,以回应数小时前以色列对黎巴嫩首都贝鲁特进行的致命空...
德韩竞标谁能赢? 崔轶亮:难分... 加拿大正在推进“巡逻潜艇项目”,计划采购最多12艘柴电潜艇,以替换预计于2030年代中期退役的4艘“...
向以色列发射三波导弹后,伊朗威... 据参考消息6月8日报道,6月7日晚,伊朗向以色列发射三波导弹,以回应以色列不断升级对黎巴嫩的军事行动...
原创 恐... 6月8日,国际足坛再次出现球员在比赛中昏迷的情况。在丹麦同乌克兰的热身赛中,34岁的埃里克森忽然晕倒...
原创 歼... 这两天,咱们国产隐身机歼-35的外贸版(也就是歼-35AE)算是彻底曝光了,连带着那架编号0001的...
以色列遭多波导弹袭击!特朗普:... 据美国有线电视新闻网(CNN)报道,当地时间7日,伊朗伊斯兰革命卫队(IRGC)发布声明称,当日用弹...
原创 W... WB集团的Warmate“滞留弹药,配备气动弹射器,起飞前使用。(WB集团) 波兰军备局与WB集团签...