北京沣登科技发展公司

j***ascript的继承函数,j***ascript中的继承

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

  1. js中的原型继承依赖于什么?
  2. js间的脚本可以相互继承吗?
  3. JS原型链继承和类继承各有什么优缺点?

js中的原型继承依赖于什么

1.别忘记默认类型

我们知道,所有的引用类型都继承了Object,而这个继承也是通过原型链实现的。所以所有的对象都拥有Object具有的一些默认的方法。如

javascript的继承函数,javascript中的继承div>
图片来源网络,侵删)

:hasOwnProperty()、propertyIsEnumerable()、toLocaleString()、toString()和valueOf()。

2. 确定原型和实例的关系可以通过两种方式来确定原型和实例之间的关系。

使用instanceof 操作符,只要用这个操作符来测试实例与原型链中出现过的构造函数,结果就会返回true。

javascript的继承函数,javascript中的继承
(图片来源网络,侵删)

②第二种方式是使用isPrototypeOf()方法。同样,只要是原型链中出现过的原型,都可以说是该原型链所派生的实例的原型,因此isPrototypeOf()方法也会返回true。

js间的脚本可以相互继承吗?

可以。首先继承是一种关系,类(class)与类之间的关系,JS中没有类,但是可以通过构造函数模拟类,然后通过原型来实现继承。

继承也是为了数据共享,js中的继承也是为了实现数据共享。

javascript的继承函数,javascript中的继承
(图片来源网络,侵删)

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

一般用这种:

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

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

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

分享:
扫描分享到社交APP