高程书地182页有如下两段代码
代码片段一。
var name = "The Window";
var object = {
name : "My Object",
getNameFunc : function(){
return function(){
return this.name;
};
}
};
alert(object.getNameFunc()());
//the Window
代码片段二。
var name = "The Window";
var object = {
name : "My Object",
getNameFunc : function(){
var that = this;
return function(){
return that.name;
};
}
};
alert(object.getNameFunc()());
//My Object
其中对第一段的代码解释就是问题中的那句话
但是既然是object.getNameFunc() 那this不是应该指向object的吗 this.name应该是object.name啊
该如何理解这个输出值和这句话呢?
没那么复杂
object.getNameFunc()()
拆开看然后调用这个函数.
这个是全局调用,返回widow里面的
第二个不用说了。直接保存了this,不会变了