日期:2014-05-16  浏览次数:20410 次

求大神帮助
var people={
name:'huanqingdong',
age:24,
sex:'boy',
show:function (){

alert(this.name+this.age+this.sex);
}

}
var name=people.show;
name();
这段代码 居然是弹出function (){

alert(this.name+this.age+this.sex);
}
这段内容求解释 ,

我如何通过那么去执行show函数呢

------解决方案--------------------
JScript code

//创建people对象
var people={
name:'huanqingdong',//设置name属性
age:24,             //设置age属性
sex:'boy',          //设置sex属性
//设置show方法(因为后面定义的是function)
show:function (){
 alert(this.name+this.age+this.sex);
}
}
var name=people.show;name();//改为var name=people.show();name;

而你所说的怎么执行方法 应该这样:
var name=people.show();
name;

------解决方案--------------------
JScript code
var name=people.show;
name();//执行后this作用于为window,并不是people,this.name就是var name声明的变量,为函数体
name.call(people)//更改函数作用于为people就对了