关于js类的继承
原型链继承
特点:基于原型链,既是父类的实例,也是子类的实例。
缺点: 无法实现多继承。
构造继承
特点: 可以实现多继承。
缺点: 之能继承父类实例的属性和方法,不能继承原型上的属性和方法。
实例继承
为父类实例添加新特性,作为子类实例返回。
拷贝继承
拷贝父类元素上的属性和方法。
组合继承
特点:可以继承实例属性/方法,也可以继承原型属性/方法。
缺点:调用了两次父类构造函数,生成了两份实例。
寄生组合继承
特点:通过寄生方式,砍掉父类的实例属性,在调用两次父类的构造时,就不会初始化两次实例方法/属性。