下面这段代码
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.*