编程语言
首页 > 编程语言> > javascript中寄生组合式继承

javascript中寄生组合式继承

作者:互联网

在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;
    }

标签:组合式,function,继承,子类,javascript,subClass,寄生,superClass,prototype
来源: https://blog.51cto.com/u_3409716/2904263