js_高级_继承

1、继承---一般情况下是不用的,做网页特效啥的,比较简单功能的,没有很多重复代码的,一般不会用的,除非是造框架、重用属性较多,类型较多时才用继承。

  a、面向对象3大特征

   

    以上是对象的拷贝

    什么是继承:真正的继承指的是类型和类型之间的关系

    继承的目的:把子类型中共同成员(属性+方法--方法挂在父类原型对象上)提取到父类中,代码重用

    继承的好处:代码重用

   b、真正的继承---类型(构造函数)和类型(构造函数)之间的继承

    

    继承方式1:原型继承:有缺点---无法设置继承时构造函数的参数(一般是不用这种方式继承的)

    

    继承方式2:call()---改变函数中的this,直接调用函数,call继承的缺点---》无法继承绑在原型上的方法

        1、bind的用法

        

        2、call的用法---调用函数的另一种方式

        

         3、call 继承---(call   改变函数中的this,直接调用函数)借用构造函数    

          call继承的缺点---》只能继承父类型中的属性无法继承绑在父类型原型上的方法

         

      继承方式3:组合继承---》借用构造函数方式(call)继承父类的属性  +  原型继承的方式继承父类的方法

          

           !! sayHi方法虽然不在t1的原型上,但是在其原型链上,所以可以调用的到。

          理解下组合继承

          

           

               组合继承的案例

      

      

          

        

原文地址:https://www.cnblogs.com/yangyutian/p/10939681.html