SOURCE

var name = 'Jack'; // 对照是否有this指向

let obj = {
    name: 'Peter',

    f1: function () {
        console.log(this.name);
    },

    f2: function () {
        console.log(function () {
            return this.name;
        }());
    },

    f3: function () {
        console.log((() => {
            return this.name;
        })());
    },

    f4: function () {
        console.log((() => {
            return (() => {
                return this.name;
            })();
        })());
    },

    f5: () => {
        console.log(this.name);
    }
};
obj.f1();
obj.f2();
obj.f3();
obj.f4();
obj.f5();
// 普通函数的this指向父级作用域
// 箭头函数的this指向它所定义的对象的作用域
console 命令行工具 X clear

                    
>
console