借用构造函数实现继承

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了借用构造函数实现继承相关的知识,希望对你有一定的参考价值。

// 在子类型构造函数的内部调用超类型的构造函数
// 别忘了,函数只不过是在特定环境中执行代码的对象,因此,通过使用call()和apply()也可以在新创建的对象上执行构造函数

function SuperType(){
this.colors=["red","blue","green"];
}

function SubType(){
// 继承了SuperType
SuperType.call(this);  //借调了超类型的构造函数

}

var instance1=new SubType();
instance1.colors.push("yellow");
console.log(instance1.colors);

var instance2=new SubType(); // ["red", "blue", "green", "yellow"]
console.log(instance2.colors);// ["red", "blue", "green"]

// 通过使用call()或apply(),实际上是在新创建的SubType实例的环境下调用了SuperType构造函数,这样一来,就会在,新SubType对象上执行
SuperType()函数中定义的所有对象初始化代码。结果,SubType的所有实例都会有自己的colors属性。














以上是关于借用构造函数实现继承的主要内容,如果未能解决你的问题,请参考以下文章

JS高级---借用构造函数

js继承之借用构造函数继承

JS继承之借用构造函数继承和组合继承

JavaScript继承-借用构造函数继承

js继承之组合继承(结合原型链继承 和 借用构造函数继承)

js中继承的实现,原型链的知识点归纳,借用构造函数,组合继承(伪经典继承)