ES5 继承:子类继承父类
1.原型链继承:
能够继承原型上的属性和方法,但是不能继承构造函数内部的属性和方法
优点:
1.能够继承原型上的属性和方法
2.能够继承父类原型上的属性和方法
缺点:
1.不能继承构造函数内部的属性和方法
2.不能实现多继承
2.构造函数继承:(伪造对象)
能继承构造函数内部的属性和方法,但是不能够继承原型上的属性和方法
优点;
1.能够继承构造函数内部的属性和方法
2.能够继承原型上的属性和方法
3.能够继承父类原型上的属性和方法
缺点:
1.不能继承父类原型上的属性和方法
2.不能实现多继承
3.组合继承
能够继承构造函数内部的属性和方法,也能够继承原型上的属性和方法
优点:
1.能够继承构造函数内部的属性和方法
2.能够继承原型上的属性和方法
3.能够继承父类原型上的属性和方法
缺点:
1.不能实现多继承
2.会调用两次父类的构造函数
4.原型式继承
5.寄生式继承
6.寄生组合式继承
ES6 继承:子类继承父类
1.class继承
class A extends B{}
继承的语法:
class 子类 extends 父类{
// 子类自己的代码
}
class 子类 extends 父类{
}
继承的注意点:
1.子类可以继承父类的方法,也可以添加自己的方法
2.子类继承父类的方法,可以重写
3.子类继承父类的方法,可以调用
4.子类继承父类的方法,可以调用父类的方法
5.子类继承父类的方法,可以调用父类的构造函数
6.子类继承父类的方法,可以调用父类的原型对象的方法
7.子类继承父类的方法,可以调用父类的原型对象的方法
8.子类继承父类的方法,可以调用父类的原型对象的方法