各位開發人員,我發現 JavaScript 的 this
關鍵字有點棘手,尤其是在複雜的場景中。 為了提高我的理解並快速掌握其在各種上下文中的行為(例如在查看程式碼或文件時),我創建了這個簡潔的參考。
關於this
需要記住的要點:
function myFunction() {}
) 通常將其 this
設定為全域 window
物件。在 Node.js 中,它是全域物件。 只有在特定上下文中呼叫時才會發生變化:.bind()
、.call()
或 .apply()
明確綁定。 () => {}
) 從其周圍(封閉)常規函數的作用域(詞法 this
)繼承其 this
。理解這一點至關重要。 this
是在其 建立 時確定的,而不是執行時確定的。 即使它位於物件方法內部,其 this
來自最近的封閉 常規 函數。 this
的不變性: 箭頭函數具有固定的、不可變的 this
,而常規函數的 this
是動態的,可以使用綁定方法進行更改。 this
總是引用使用 new MyClass()
建立的類別的實例。無論函數類型如何,這都是一致的。 請隨意貢獻、糾正任何不準確之處或添加更多見解。 建設性的回饋總是值得讚賞!
以上是常規這個,箭頭這個(簡潔的項目符號)的詳細內容。更多資訊請關注PHP中文網其他相關文章!