网上不是说prototype的方法是实例方法要new的之后才能用,但我今天看EXTJS源码时发现,可以直接调用!ext=function(id,name){
this.id=id;
this.name=name;
};
ext.prototype={
show:function()
{
alert(this.id+" is "+this.name);
}
}
var ob={
id:"123456789",
name:"wowovivi"
}
ext.prototype.show.apply(ob);
this.id=id;
this.name=name;
};
ext.prototype={
show:function()
{
alert(this.id+" is "+this.name);
}
}
var ob={
id:"123456789",
name:"wowovivi"
}
ext.prototype.show.apply(ob);
改成
alert(ob instanceof ext);写错了
ext=function(id,name){
this.id=id;
this.name=name;
};
ext.prototype={
show:function()
{
alert(this.id+" is "+this.name);
}
}
var ob={
id:"123456789",
name:"wowovivi"
}
ext.prototype.show.apply(ob);//ext.prototype是一个对象,有个show方法,自然就能通过ext.prototype.show来调用该方法。一般类的prototype都是一个对象,当通过prototype来调用其方法时,请不要把prototype再看的那么神奇,它也只是一个对象而已。
对应
show:function()
{
alert(this.id+" is "+this.name);
}
改变了上下文
ext.prototype.show.apply(ob)
所以能方位到ob里的id和name