[摘要]本篇文章给大家带来的内容是关于javascript借用构造函数的解析(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。借用构造函数为了解决原型中包含引用类型值所带来问题,开发...
本篇文章给大家带来的内容是关于javascript借用构造函数的解析(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
借用构造函数
为了解决原型中包含引用类型值所带来问题,开发人员开始使用一种叫做借用构造函数(constructor stealing)的技术。
有时候也叫伪造对象或者经典继承。
这种技术的基本思想非常简单,即在子类型构造函数内部调用超类型构造函数。
函数只不过是在特定环境中的执行代码的对象,因此通过使用apply()和call()方法也可以在新创造的对象上执行构造函数。
function SuperType() {
this.colors = ["red","blue","green"];
}
function SubType() {
//继承了SuperType
SuperType.call(this);
}
var instance1 = new SubType();
instance1.colors.push("black");
console.log(instance1.colors); //["red","blue","green","black"]
var instance2 = new SubType();
console.log(instance2.colors); //["red","blue","green"]