一、原型链继承
缺点: 1、引用值共享
2、无法给父类构造函数传参
二、借用构造函数
作用:实现向父类构造函数自定义传参
缺点:无法继承父类原型的属性与方法
三、组合继承
作用:前两者结合,解决了无法向父类构造函数自定义传参和值共享的问题
缺点:调用两次父类构造函数,还可以提升性能
四、原型式继承
使用Object.create方法,直接实现对象之间的继承
五、寄生式继承
调用Object.create创造新对象,再给其增加属性与方法
六、寄生组合式继承
在组合继承的基础上,用Object.create创造一个继承于父类原型的对象,避免了重复调用的问题。
七、es6中的extends
是一种语法糖,采用继承组合式方式。