下面这段代码
var n = 'window'
var o = {
n: 'my',
myfunc: function() {
console.log(this.n);
},
myfun2: function() {
return function() {
console.log(this.n);
}
},
myfun3: function() {
return function() {
var that = this;
console.log(that.n);
}
}
};
o.myfunc(); //my
o.myfun2()(); //undefined?
o.myfun3()(); //undefined?
为什么后面两个打印都是undefined? 我认为n要么是window要么是my。出乎我的预料。
我的理解错在哪里?
--
FROM 114.254.45.*