1. 原型链继承
特点:
可以继承父类构造函数的属性和方法
可以继承父类原型的属性和方法
缺点:
无法传参
继承单一,不能继承多个父类
共享属性
2. 构造函数继承
特点
可以继承多个父类
可以传参
各自有各自的属性,是私有的
缺点
各自都有一套父类的方法,浪费内存,没有实现复用
不能继承原型的属性和方法
每个实例都要调用一次父类构造函数,没有实现复用
3. 原型链和构造函数组合继承
特点
可以传参
可以复用
属性都是私有的
缺点
调用两次父类构造函数,一次是为了构造函数继承,一次是为了原型链继承