美文网首页
js之组合继承

js之组合继承

作者: 三米板 | 来源:发表于2021-11-03 14:35 被阅读0次
function SuperType(name) {
    //父函数的自定义属性
    this.name = name;
    this.colors = ["red","orange","black"];
};

SuperType.prototype.sayName = function() {
     //父函数原型中定义的方法
    console.log(this.name);
};

//定义子函数
function SubType (name,age) {
    //子函数继承父函数的属性
    //借用构造函数实现对实例属性的继承
    SuperType.call(this,name);    
    //子函数定义自己的属性
    this.age = age;
}

//子函数继承父函数的方法
//通过原型链对原型属性和方法的继承
SubType.prototype = Object.create(SuperType.prototype);
    //下面注释的这种写法子类会具有父类实例的方法,不推荐
    //SubType.prototype = new SuperType();
SubType.prototype.constructor =SubType;

//自定义子函数的方法
SubType.prototype.sayAge = function() {
    console.log(this.age);
}

//测试
var instance1 = new SubType("LLL","24");
instance1.colors.push("pink");
console.log(instance1.colors);//"red,orange,black,pink"
instance1.sayName;//"LLL"
instance1.sayAge;//"24"

//测试2
var instance2 = new SubType("XXX","25");
console.log(instance2.colors);//"red,orange,black"
instance2.sayName;//"XXX"
instance2.sayAge;//"25"

相关文章

  • js之组合继承

  • js之继承

    文章主讲 JS 继承,包括原型链继承、构造函数继承、组合继承、寄生组合继承、原型式继承、 ES6 继承,以及 多继...

  • js一些技巧.md

    js中的constructor和prototype 组合继承与寄生继承 组合继承 可以继承实例属性和方法,也可以继...

  • Js的继承

    js的继承 @(js)[继承, js, 前端] 组合继承是原性链继承和构造函数继承的合体,它汲取了二者各自的有点,...

  • 2019-03-25 继承

    js中通过原型来实现继承 组合继承:原型继承+借用构造函数继承

  • JS继承的方法

    JS继承的方法有六种: 1、原型链继承 2、构造继承 3、实例继承 4、拷贝继承 5、组合继承 6、寄生组合继承

  • js的继承方式

    js的继承方式 一、原型链继承 原型继承的缺点: 二. 构造函数继承 构造函数继承的缺点: 三. 组合式继承 组合...

  • 彻底弄清js继承的几种实现方式

    js有几种经典的继承方式。比如原型链继承、构造函数继承、组合继承、寄生组合继承、ES6继承。让我们一一分析并实现。...

  • 组合寄生继承和组合继承

    1.js中实现组合继承(B继承A): function A(name){ this.name = name; ...

  • js实现继承的几种方式

    js实现继承有几种方式,这里我们主要探讨 原型链继承 构造继承 组合继承(原型链和构造继承组合到一块,使用原型链实...

网友评论

      本文标题:js之组合继承

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