原生JS:重新复习继承

寄生式继承  缺点是子类不可在原型上扩展属于自己的方法

      function Father(a){
        this.a=a
      }
      Father.prototype={
        constructor:Father,
        play:()=>{
          console.log('i am father')
        }
      }
      function Son(a){
        this.supclass.constructor.call(this,a)
      }
      function extend(subclass,supclass){
        function F(){}
        F.prototype=supclass.prototype;
          subclass.prototype=new F();
          subclass.prototype.constructor=subclass;
          subclass.prototype.supclass=supclass.prototype;
          if(supclass.prototype.constructor!==supclass){
            supclass.prototype.constructor=supclass;
          }
      }
      extend(Son,Father)

猜你喜欢

转载自www.cnblogs.com/ayujun/p/12080718.html