为什么这段代码的this指向是window呢?


    <script>
        var a = {
            b: function() {
                var fun = function() {
                    console.log(this);
                };
                fun();
            },
        };
        a.b();
    </script>

为什么是window不是对象a呢?

b里面的fun函数是无主的(没有使用xxx.fun进行调用,也没有call,apply等),无主的函数调用,里面的this在严格模式下为undefined,非严格模式下指向window

怎么说是window?

因为是b在调用fun函数 以函数形式调用this是window