思考题1:
var name = "The Window";
var object = {
name: "My Object",
getNameFunc: function() {
return function() {
return this.name;};
}};
console.log(object.getNameFunc()())
分析过程:
f=object.getNameFunc(); 运行object.getNameFunc();
f=function(){return this.name;}; f()
相当于function(){return this.name;}()
上面式子为立即执行函数。this指向window。
思考题2:
var name = "The Window";
var object = {
name: "My Object",
getNameFunc: function() {
var that = this;
return function() {
return that.name;
};
}
};
console.log(object.getNameFunc()())
function(){return that.name;}()
that指向了上面的对象,that.name即My Object。