• 技术文章 >Web开发 >JavaScript

    javascript组合继承是什么

    小妮浅浅小妮浅浅2021-06-08 11:59:22原创53

    1、说明

    用原型链实现原型属性和方法的继承,借用构造函数技术实现实例属性的继承。

    2、缺点

    组合模式的缺点是使用子类制作实例对象时,其原型有两种相同的属性、方法。

    3、实例

    function SuperType(name){
      this.name = name;
      this.colors = ["red", "blue", "green"];
    }
    SuperType.prototype.sayName = function(){
      alert(this.name);
    };
     
    function SubType(name, age){
      // 继承属性
      // 第二次调用SuperType()
      SuperType.call(this, name);
      this.age = age;
    }
     
    // 继承方法
    // 构建原型链
    // 第一次调用SuperType()
    SubType.prototype = new SuperType();
    // 重写SubType.prototype的constructor属性,指向自己的构造函数SubType
    SubType.prototype.constructor = SubType;
    SubType.prototype.sayAge = function(){
        alert(this.age);
    };
     
    var instance1 = new SubType("Nicholas", 29);
    instance1.colors.push("black");
    alert(instance1.colors); //"red,blue,green,black"
    instance1.sayName(); //"Nicholas";
    instance1.sayAge(); //29
     
    var instance2 = new SubType("Greg", 27);
    alert(instance2.colors); //"red,blue,green"
    instance2.sayName(); //"Greg";
    instance2.sayAge(); //27

    以上就是javascript组合继承的介绍,希望对大家有所帮助。更多Javascript学习指路:Javascript

    专题推荐:javascript组合继承
    上一篇:javascript如何使用构造函数继承 下一篇:javascript原型式继承如何理解

    相关文章推荐

    • JavaScript同步和异步的介绍• JavaScript垃圾回收的两种方法• JavaScript引发内存泄漏的情况• javascript:void怎么解决• javascript内存泄漏的识别方法• javascript中web worker是什么• javascript web worker的应用场景• javascript如何声明函数• javascript回调函数的异步探究• javascript怎样避免回调地狱• javascript算法的复杂度介绍• javascript递归函数如何使用• javascript如何反转字符串• javascript反转数组的方法• javascript回文是什么• javascript首字母大写转换的方法• javascript搜索算法有哪些• JavaScript垃圾回收机制的分析• JavaScript内存泄漏的情况• JavaScript内存泄漏的识别及避免• JavaScript垃圾回收的优化方法• javascript严格相等运算符如何使用
    品易云

    全部评论我要评论

  • 取消发布评论发送
  • 

    Python学习网