美文网首页
聊一聊js的几种继承方式

聊一聊js的几种继承方式

作者: superestZe | 来源:发表于2018-12-08 21:40 被阅读0次

在js中, 很多地方需要使用到继承, 废话少说, 今天来聊一聊js几种继承方式的优缺点

  • 构造函数继承

    function Parent(){
        let arr=[1,2,3,4]
    }
    
    function Child(){
        Parent.call(this);   // this === Parent1
    }
    
    • 缺点: Parent 上的原型链不能被子类继承
  • 原型链继承

    function Parent(){
        let arr=[1,2,3,4]
    }
    
    function Child(){
        Parent.call(this);   // this === Parent1
    }
    
    Child.prototype = new Parent();
    

    缺点:

    • 如果父类中的属性值改变(例如数组), 所有子类的实例中对应的都会改变
  • 组合继承

      function Parent(){
      let arr=[1,2,3,4]
      }
    
    

    function Child() {
    Parent.call(this);
    }
    Child.protype = new Parent();

    
    

    缺点:

  • 父类的构造函数会被指向两次

  • child = new Child() ;

    child instanceof Child // true

    child instanceof Parent // true

    不能区分实例到底是父类的实例, 还是子类的实例

  • 组合继承的优化(推荐使用这种方式)

    function Parent(){
        let arr=[1,2,3,4]
    }
      
    function Child() {
          Parent.call(this);
    }
    Child.prototype = Object.create(Parent.prototype); // 把显示原型放在子类的显示原型上
    child.prototype.constructor = Child()  // 构造函数等于该函数本身
    

相关文章

  • 聊一聊js的几种继承方式

    在js中, 很多地方需要使用到继承, 废话少说, 今天来聊一聊js几种继承方式的优缺点 构造函数继承functio...

  • 聊一聊JS的继承

    常见的继承方式有哪些 循序渐进着来看,分为以下几种 类(原型链)继承 —— 用父类的实例重写子类原型对象 构造函数...

  • JS中基于原型实现继承

    本文不会对于JS中的继承机制进行深入研究,只聊js中基于原型实现继承的方式,如果需要了解JS中的继承机制及其相关背...

  • js几种继承方式

    注意: 1,constructor总是指向类的构造函数 2,__proto__指向父类的原型对象 1,原型链继承 ...

  • JavaScript 继承

    继承是JS中非常内容,原因就是JS没有地道的继承方式,我们只能通过各种方式来模拟面向对象中的继承。下面介绍几种常见...

  • 聊一聊Javasript继承

      前前后后已经快写了2年左右javaScript,刚开始只是简单用于一些表单验证和操作dom节点,并没有深入的使...

  • JS继承的几种方式

    关于Js继承的几种方式,总结一下,以便查看。 第一种 prototype 引用型原型继承 语言支持:js原生支持的...

  • JS继承的几种方式

    JS继承的几种方式 (1) 属性拷贝 存在问题: 如果继承过来的成员是引用类型的话,那么这个引用类型的成员在父对象...

  • js继承的几种方式

    1 原型链继承 把子类的prototype指向父级的实例,也就是原型链继承 此继承方法优 简单明了,父级新增的属性...

  • js继承的几种方式

    在我近三年的职业生涯中,老实说,我很少需要自己去写一个类,然后继承,然后如何如何去调用这些方法,除了有一次公司紧急...

网友评论

      本文标题:聊一聊js的几种继承方式

      本文链接:https://www.haomeiwen.com/subject/omechqtx.html