您当前的位置: 首页 > 学无止境 > JS经典实例 网站首页JS经典实例
javascript对象与原型-继承-原型链、对象冒充、原型链+对象冒充
发布时间:2016-10-16 13:47:59编辑:雪饮阅读()
原型链继承:
function Box(){
this.name='雪饮';
}
function Desk(){
this.age=24;
}
Desk.prototype=new Box();
//通过原型链继承,超类实例化后的对象实例,赋值给子类的原型属性
//通过原型链继承,若超类中有实例属性也存在原型属性,那么就是就近原则继承,先查找是否有实例属性,若有实例属性则返回实例属性,否则才查找原型属性
var desk=new Desk();
alert(desk.name);
对象冒充继承:
//对象冒充继承,给超类传参
function Box(name,age){
this.name=name;
this.age=age;
}
Box.prototype.family='家庭';
function Desk(name,age){
Box.call(this,name,age);
}
var desk=new Desk('雪饮',24);
alert(desk.name);
alert(desk.family);
//family属性undefined是因为通过对象冒充的方法继承并不能够继承到原型所声明的属性,只能继承实例属性
原型链+对象冒充继承(组合模式继承):
可以解决对象冒充继承无法实现共享的原型的属性的继承。
function Box(name,age){
this.name=name;
this.age=age;
this.family=['哥哥','姐姐','妹妹'];
}
Box.prototype.run=function(){
return this.name+this.age+'运行中';
}
function Desk(name,age){
Box.call(this,name,age);//对象冒充继承
}
Desk.prototype=new Box();//原型链继承
var desk=new Desk('雪饮',24);
alert(desk.run());
关键字词:javascript,对象,原型