由于组合式继承在进行继承时,利用父类的new导致浪费了父类中的实例变量。为了解决这个问题,引入了寄生组合式继承。
原理:
1.创建一个空的构造函数。利用这个构造函数创建一个实例obj;
2.1给obj添加一个属性prototype,让obj.prototype = superClass.prototype;
2.2给obj添加一个属性constructor,让obj.constructor = superClass;
3.让子类继承自obj,subClass.prototype = obj;
这样既保证了原型链,又节约了内存。