第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有人可以解釋箭頭功能嗎?(ES6)

有人可以解釋箭頭功能嗎?(ES6)

慕桂英3389331 2021-04-01 10:11:50
我正在嘗試了解箭頭功能。我知道,使用箭頭功能時,作用域有所不同。但是,我仍然對這一切的工作方式感到困惑。這是一個我不太了解的例子。// ES5var obj = {  id: 42,  counter: function counter() {    setTimeout(function() {      console.log(this.id);    }.bind(this), 1000);  }};現(xiàn)在,這里是完全相同的代碼塊,但使用了箭頭功能。// ES6var obj = {  id: 42,  counter: function counter() {    setTimeout(() => {      console.log(this.id);    }, 1000);  }};看著它,在我看來,這全都關(guān)乎水平。如果我錯了,請糾正我,但是在ES5中,我們將.bind()在這種情況下使用該方法,因為如果沒有它,它將返回未定義狀態(tài)。我認為這是因為在這種情況下,this關(guān)鍵字inconsole.log(this.id);指向該counter對象,默認情況下,它找不到id該obj對象的。有點令人困惑,但我認為僅此而已?,F(xiàn)在,使用箭頭功能,我不確定為什么console.log(this.id);會起作用。這是否意味著只要它在同一代碼塊中,就可以使用?
查看完整描述

3 回答

?
慕田峪9158850

TA貢獻1794條經(jīng)驗 獲得超8個贊

從文檔:

箭頭函數(shù)沒有自己的this。使用this封閉的詞法作用域的值;箭頭函數(shù)遵循正常的變量查找規(guī)則。因此,在搜索this當前范圍中不存在的內(nèi)容時,最終會this從其包圍范圍中找到它們。

箭頭功能確實在做什么.bind(this)。您的兩個示例都是等效的。


查看完整回答
反對 回復 2021-04-22
  • 3 回答
  • 0 關(guān)注
  • 176 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號