我正在閱讀一本 javascript 書(shū),下面是作者描述的示例:let myObject = { greeting: "Hi, there", getWriter() { return (message) => console.log(`${this.greeting}, ${message}`); }}myObject.getWriter()("It is raining today");當(dāng)調(diào)用 getWriter 返回的箭頭函數(shù)時(shí),它會(huì)在其范圍內(nèi)向上工作,直到找到 this 的值。因此,調(diào)用 getWriter 函數(shù)的方式?jīng)Q定了箭頭函數(shù)的 this 值。我有點(diǎn)明白這個(gè)想法,但對(duì)細(xì)節(jié)感到困惑,所以getWriter()首先被調(diào)用,然后箭頭函數(shù)被調(diào)用,但是箭頭函數(shù)如何工作到它的范圍以確定 this 值是myObject什么?我的意思是什么時(shí)候getWriter()被調(diào)用,這個(gè)函數(shù)的作用域在這個(gè)函數(shù)完成時(shí)結(jié)束,箭頭函數(shù)不應(yīng)該知道它自己是從 getWriter 函數(shù)返回的嗎?
箭頭函數(shù)如何在其范圍內(nèi)向上工作,直到找到一個(gè)值?
qq_笑_17
2021-10-07 10:52:55