• 技术文章 >Web开发 >JavaScript

    JavaScript组合继承的实现

    小妮浅浅小妮浅浅2021-09-24 10:45:44原创198

    1、组合继承综合了原型链和盗用构造函数,将两者的优点集中了起来。既可以把方法定义在原型上以实现重用,又可以让每个实例都有自己的属性。

    2、过程中调用两次父类构造函数。

    一次是子构造函数使用apply/call调用的父构造函数,另一次是子类使用原型继承时,父类实例赋给子类的原型对象时调用的父类构造函数

    实例

    function A(name,age,sex){
        this.name = name;
        this.age = age;
        this.sex = sex;
        this.arrs = [1,2,3]
    };
    A.prototype.sayName = function(){
        return this.name
    }
    function B(name,age,sex){
        A.apply(this,arguments)
    }
    B.prototype = new A();
    Object.defineProperty(B.prototype,"constructor",{
        enumerable:false,
        value:B
    })
    let C1 = new B('C1',18,'male');
    let C2 = new B('C2',18,'female');
    console.log(C1.sayName());     //"C1"
    C1.arrs.push(4);
    console.log(C1.age,C1.sex,C1.arrs);    //18,'male',[1,2,3,4]
    console.log(C2.sayName());     //"C2"
    console.log(C2.age,C2.sex,C2.arrs);    //18,'female',[1,2,3]

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

    专题推荐:javascript 组合继承
    品易云
    上一篇:JavaScript如何盗用构造函数 下一篇:JavaScript全局作用域是什么

    相关文章推荐

    • c语言和javascript的区别• javascript设置时间格式的方法• javascript中有哪些布尔操作符• javascript中乘法的使用• javascript中除法怎么用• javascript加法如何使用• javascript减法怎么用• javascript关系操作符如何使用• javascript相等操作符的使用• javascript max和min的使用• JavaScript逻辑运算符里的短路• JavaScript构造函数的优缺点• JavaScript原型添加存在的属性• JavaScript原型链继承的注意点• JavaScript如何盗用构造函数

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网