function displayInfo(){
var output="";
if(typeof this.name=="string"){
output+="Name:"+this.name+"\n";
}
if(typeof this.age=="number"){
output+="Age:"+this.age+"\n";
}
alert(output);
}
var info1={
name:"Jim",
age:29
}
var o=new Object();
o.m=displayInfo;
o.m.call(info1);//能找到Jim和29
displayInfo(info1);//为空值为什么使用call时,this起作用,直接调用函数this没有用呢,什么原因?
1 回答
已采纳
Joy_Sang
TA贡献64条经验 获得超13个赞
call,改变了this的指向,此时this指向info1对象,而displayInfo(info1)中的this指向window对象所以Name:The Window
添加回答
举报
0/150
提交
取消