我正在阅读一本 javascript 书,下面是作者描述的示例:
let myObject = {
greeting: "Hi, there",
getWriter() {
return (message) => console.log(`${this.greeting}, ${message}`);
}
}
myObject.getWriter()("It is raining today");
当调用 getWriter 返回的箭头函数时,它会在其范围内向上工作,直到找到 this 的值。因此,调用 getWriter 函数的方式决定了箭头函数的 this 值。
我有点明白这个想法,但对细节感到困惑,所以getWriter()首先被调用,然后箭头函数被调用,但是箭头函数如何工作到它的范围以确定 this 值是myObject什么?我的意思是什么时候getWriter()被调用,这个函数的作用域在这个函数完成时结束,箭头函数不应该知道它自己是从 getWriter 函数返回的吗?
拉莫斯之舞
相关分类