继承,在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);
关于采用对象冒充和原型链继承的组合,来解决构造方法传参和原型共享问题,以后再来进一步学习。
时间: 2024-10-09 19:20:25