北京沣登科技发展公司

j***ascript的原型特点,如何理解js中的原型

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

  1. 如何通俗解释JavaScript中的原型概念?
  2. 谈谈对原型链的理解JS原型链怎么理解?
  3. JS原型链继承和类继承各有什么优缺点?

如何通俗解释javascript中的原型概念?

js原型概念是利用对象存储的一个子属性properly来知道该类的父类有什么方法,原型链中在内存只有一个副本,实例化时用__proto__来引用然后对象执行方法时也是顺着__proto__查找执行的方法

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

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

javascript的原型特点,如何理解js中的原型div>
图片来源网络,侵删)

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

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

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

javascript的原型特点,如何理解js中的原型
(图片来源网络,侵删)

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

JS原型链继承和类继承各有什么优缺点?

一般用这种:

意思是不涉及函数构造,抛弃“类”的感觉,因为 JS 没有类、继承等概念,有的只是对象,对象可以串成原型链。当一个对象找不到某个属性时,会向原型链上的对象去借,这中间不是父子关系,不是类与实例的关系,而是平级关系。我认为这样有助于我理解语言本质,避免一些隐晦的 bug。使用一个函数充当构造函数,再用它的 prototype 属性去建立一个个连接,绕了一个圈子不说,函数本身也并不是构造函数,它模拟的“类”和真正的类也有着天壤之别,它的“继承”和“实例化”等行为也根本不是那个意思。

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

javascript的原型特点,如何理解js中的原型
(图片来源网络,侵删)

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

分享:
扫描分享到社交APP