北京沣登科技发展公司

j***ascript原型链图解,j***ascript原型链的基本原理

大家好,今天小编关注到一个比较意思的话题,就是关于javascript原型链图解的问题,于是小编就整理了2个相关介绍JavaScript原型链图解的解答,让我们一起看看吧。

  1. 谈谈对原型链的理解JS原型链怎么理解?
  2. js中class类extend和原型链继承的区别?

谈谈对原型链的理解js原型链怎么理解?

原型链是 javascript 中一个重要概念,每个对象都拥有一个原型对象,也可以是 null。对象上的属性方法可以通过原型链得到,直到顶层的 Object.prototype。

JavaScript的原型链是通过对象的prototype属性来实现的,这个属性是一个引用,指向另一个对象,另一个对象也有自己的prototype,这样就形成了一条链条,最终指向Object.prototype对象。

javascript原型链图解,javascript原型链的基本原理div>
图片来源网络,侵删)

当我们查询一个对象的属性时,首先会查找对象本身是否有该属性,如果没有,则会去对象的原型对象中查找,如果还是找不到,则会继续查找原型对象的原型对象,直到查到全局对象的原型对象 Object.prototype,如果仍未找到,则返回 undefined

在 J***aScript 中,所有的函数都是对象,每个函数对象上都有一个 prototype 属性,指向该函数的原型对象。同时,每个对象都有一个隐式的属性 __proto__(即我们所说的原型),指向该对象的原型对象。

实际上我们对于函数的继承,也是通过原型链来实现的,子类对象可以通过 __proto__ 属性指向父类对象,从而实现对父类属性和方法的继承。

javascript原型链图解,javascript原型链的基本原理
(图片来源网络,侵删)

js中class类extend和原型链继承的区别?

类式继承:在子类型构造函数的内部调用父类的构造函数

原型继承:子类通过prototype将所有在父类中通过prototype添加的属性和方法都追加到Child,从而实现了继承

javascript原型链图解,javascript原型链的基本原理
(图片来源网络,侵删)

优缺点: 类式继承在运行时,无法修改或者添加新的方法,而原型继承是可以通过改变原型链接而对子类进行修改的,类式继承不支持多重继承,而对于原型继承来说,只需要写好extend对对象进行进一步的扩展就可以。

到此,以上就是小编对于j***ascript原型链图解的问题就介绍到这了,希望介绍关于j***ascript原型链图解的2点解答对大家有用。

[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。 转载请注明出处:http://www.fengdengtech.com/post/76089.html

分享:
扫描分享到社交APP