JavaScript中实现继承:
原型链
JavaScript实现继承的方式是用原型链来实现的。由于每个构造函数都一个属性,指向一个原型对象,所以我们将原型对象等于另一个类型的实例,显然这时这个实例中有一个指向另一个原型的指针。如果这样一层一层的嵌套下去,就构成一个原型链。
function Super() { this.property = true; } Super.prototype.getSuperValue = function() { return this.property; } function Sub { this.subProperty = false; } //Sub 继承 Super Sub.prototype = new Super(); Sub.prototype.getSubValue() { return this.subProperty; } var instance = new Sub(); alert(instance.getSuperValue()); //true
借用构造函数
function Super() { this.colors = ["red", "blue", "green"]; } function Sub { //继承Super Super.call(this); } var instance1 = new Sub(); instance1.colors.push("black"); alert(instance1.colors); //red,blue,green,balck var instance2 = new Sub(); alert(instance2.colors); //red,blue,green
通过call方法,我们在Sub的执行环境下调用了Super的构造函数,使得每个Sub实例都有一个属于自己的colors。而且使用call方法还可以像父类构造函数传参。
组合继承
组合继承是指将原型链和借用构造函数的技术组合到一起。使用原型链来实习对方法和共享属性的继承,使用借用函数来实现对实例属性的继承。
组合继承是JavaScript中最常用的继承模式。
以上就是javascript是如何实现继承的?的详细内容,更多请关注易知道|edz.cc其它相关文章!