0
假設有兩個函數。在javascript中使用箭頭函數進行回調
function foo(callback) {
...
}
function bar() {
...
}
有什麼區別時,我打電話foo(bar)
和foo(() => bar())
假設酒吧不需要參數?
我最近前一個發生錯誤this
上下文,而第二個工作正常。我知道箭頭函數將this
上下文綁定到函數中,我不知道有什麼區別。
僅供參考,這裏是有問題的代碼。
socket.disconnect(socket.connect); // line 1
socket.disconnect(() => socket.connect()); // line 2
socket.disconnect(function() { socket.connect(); }); // line 3
我剛發現問題可能與上下文無關。這可能是應用或綁定的東西。因爲第2行和第3行工作正常,而只有第1行顯示錯誤。
你有研究的'this'的主題?有很多關於SO的信息,你可以通過一個簡單的搜索找到... – trincot
_「我知道箭頭函數綁定這個上下文」_,不,它不綁定任何上下文,「this'將會是什麼外部範圍。 –
「箭頭函數是匿名的,並改變了它在函數中綁定的方式。」我在文檔中閱讀它。 – emil