JS中的this对象
时间:2011-03-05 来源:liushan
代码理解为:
var a={};
function b(a){
this.hi=function(){
alert(a);
}
}
b.call(a,"hi");
a.hi();
之后接着看:
function WhoAmI()
{
};
WhoAmI.a=function(){
alert(this);
}
WhoAmI.a();
//out function WhoAmI() {};
说明一个问题,function 也是对象,a为该对象的一个方法,当调用a的时候,this就是该函数
function WhoAmI()
{
alert(this);
};
WhoAmI();
//out window
因为所有的根函数都是window的方法,所以会输出window
function WhoAmI()
{
alert(this);
};
var a=new WhoAmI(); //out object
new的时候是根据函数的原型生成出一个对象来,该对象的值可来源于函数对象的共享对象prototype,注意:共享对象是创建于函数执行前的(详细请参阅:http://www.cnblogs.com/johnson2008/archive/2008/05/29/1209781.html)
结果:this指向谁的看是谁调用的该方法
相关阅读 更多 +