在ES6之前类的继承终极大招寄生组合式继承
一、改写原型继承
function inheritObject(o) {
function F() {
}
F.prototype = o;
return new F();
}
二、创建继承组合式继承
/**
* subClass 子类
* superClass父类
*/
function inheritPrototype(subClass, superClass) {
//复制一份父类的原型副本保存到变量中
var p = inheritObject(superClass.prototype);
//修正因为重写自雷原型导致子类的construction属性被修改
p.constructor = subClass;
//设置子类的原型
subClass.prototype = p;
}