Javascript继承(暂略去中转函数、组合继承和寄生继承)

  继承,在JS中通过原型链实现。如:

function Box(){
    this.name="Lee";
}

function Desk(){
    this.age=100;
}

//通过原型链继承,超类实例化的对象赋值给子类的原型
Desk.prototype=new Box();
var desk=new Desk();
alert(desk.name);

  这样,Desk的原型得到了Box的实例对象+对象信息,形成了原型链。

  继承遵循就近原则,子类继承父类就近的属性。如: 

function Box(){
    this.name="Lee";
}
//添加原型属性name
Box.prototype.name="Jack";

function Desk(){
    this.age=100;
}

Desk.prototype=new Box();
var desk=new Desk();
alert(desk.name);    //实例里有,则返回;没有,则去原型链里找

//子类型从属于自己或它的超类型
alert(desk instanceof Desk);

alert(desk instanceof Box);
 

  关于采用对象冒充和原型链继承的组合,来解决构造方法传参和原型共享问题,以后再来进一步学习。

原文地址:https://www.cnblogs.com/tangzhirong/p/4804637.html