javascript中什么是继承?

JavaScript中继承是一种允许我们在已有类的基础上创建新类的机制;它为子类提供了灵活性,可以重用父类的方法和变量。子类可以使用父类的所有功能,并且对这些功能进行扩展。继承的过程,就是从一般到特殊的过程。

javascript中如何实现继承?

继承的方式有两种,一种是接口继承,继承方法签名,一种是实现继承,继承实际的方法。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视频教程!!

以上就是javascript中什么是继承?的详细内容,更多请关注易知道|edz.cc其它相关文章!

推荐阅读