JS继承方式有很多,主要分ES5和ES6继承的实现
先说一下ES5是如何实现继承的
ES5实现继承主要是基于prototype来实现的,具体有三种方式
一是原型链继承:即B.prototype-new A()
二是借用构造函数(call 或者 apply 的方式继承)
function B(name,age) {
A.call(this,name,age)
}
三是组合继承
组合继承是结合第一种和第二种方式
再说一下ES6是如何实现继承的
ES6继承是目前比较新,并且主流的集成方式,用class定义类,用extends继承类,用super()表示父类
例如:
创建A类
class A{
constructor(){
//构造器代码,new时自动执行
}
方法一(){//A类的方法}
方法二(){//A类的方法}
}
创建B类并继承A类
class B extends A{
constructor(){
super()//表示父类
}
}
实例化B类
var b1=new B()
b1.方法一()