作为函数直接调用 this 指向为 window,作为对象/类中函数调用 this 指向为 对象/类

箭头函数 () => {} 传入调用则 this 指向为传入时的类/对象

参考如下代码,可以简单理解

    function a() {
        console.log(this);
    }
    a() // window
    class B {
        name = 'ccc'
        fc = null
        constructor(callback) {
            this.fc = callback
        }
    }
    let c = new B(a)
    c.fc() // B

    c = null
    class C {
        name = 'ccc'
        fc = null
        constructor(callback) {
            this.fc = callback() // window
        }
    }
    c = new C(a)
    c.fc() // error
    console.log(c.fc); // undefined