.js中的继承
2021/10/1 23:14:22
本文主要是介绍.js中的继承,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
-
JS继承实现⽅式也很多,主要分ES5和ES6继承的实现
-
ES5继承:
-
ES5实现继承主要是基于prototype来实现的,具体有三种⽅法
-
原型链继承:即 B.prototype=new A()
-
寄生组合继承
-
特点:
1.最完美的js继承解决方案
2.父类私有的属性和方法,成为子类实例私有的属性和方法
3.父类公有的属性和方法,成为子类实例公有的属性和方法
-
结合原型链继承和call继承的方法,同时自己创建一个对象,并且让这个对象的原型指向父类构造函数的prototype.实现寄生组合继承
-
组合继承是结合原型链继承和借用构造函数继承
-
特点:
(call继承)
1.子类实例可以使用父类私有的属性和方法
2.父类私有的属性和方法都会变成子类实例私有的属性和方法
(原型链继承)
3.子类实例可以通过原型链访问和使用父类公有的属性和方法
4.子类的原型链上会存在一份多余的父类的私有属性和方法
-
-
-
-
call继承(借用构造函数继承)
//在子类构造函数中把父类构造函数当作普通的函数执行, 并且通过call方法把父类构造函数中的this替换成子类的实例(this), 这样相当于给子类实例设置了私有的属性和方法
特点:
1.只能继承父类私有的属性和方法(因为只是把父类构造函数当作普通函数执行了一次,跟父类的原型上的方法和属性没有任何关系)
2.父类的私有的属性和方法 都会变成子类私有的属性和方法
3.⽤class关键字定义类,⽤extends关键字继承类,⽤super()表示⽗类 - ES6继承
-
ES6 class继承
通过extends来实现继承
class 子类 extends 父类
在constructor中要使用super()
特点
1.父类私有的属性和方法 会变成子类私有的属性和方法
2.父类公有属性和方法 会变成子类公有的属性和方法
-
通过extends 实现原型链继承
如果不写constructor,不会报错 继承会正常实现
如果不写constructor, 浏览器会自动的帮我们去创建一些代码
这篇关于.js中的继承的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-19vue2 开发移动端h5 使用那个ui框架比较好?-icode9专业技术文章分享
- 2024-11-19ReactJS结合TypeScript、Vite、Redux和TanStack (React Query) 实战教程
- 2024-11-19Vue3资料入门教程:零基础快速上手指南
- 2024-11-19Vue3资料:新手入门教程与实战指南
- 2024-11-19Vue资料:新手入门vue.js教程与实践指南
- 2024-11-19Vue资料:初学者入门指南
- 2024-11-18tcpdf可以等待vue动态页面加载完成后再生成pdf吗?-icode9专业技术文章分享
- 2024-11-16Vue3资料:新手入门必读教程
- 2024-11-16Vue3资料:新手入门全面指南
- 2024-11-16Vue资料:新手入门完全指南