Design Principles1

This 是誰


背起來

  • 在函數本體中,非顯性或隱式地簡單呼叫函数時,在嚴格模式下,函數內的this會被綁定到undefined 上,在非嚴格模式下則會被綁定到全域物件window/global 上。
  • 一般使用new方法呼叫建構函數時建構函數的this被綁定到新建的物件上。
  • 一般透過call/apply/bind 方法性呼函数時,函數本體內的this被綁定到指定參數的物件上。
  • 一般透過上下文物件呼叫函数時,函數本體內的this會被綁定到該物件上。
  • 在箭頭函数中,this的指向是由外層(函數或全域)作用域來決定的。

Bind、Apply、Call

不造輪子,請參考 realdennis

進階參考紅塵煉心

  • 大致差別Call和Bind接多個參數,Apply接陣列。
  • call和apply直接調用,而bind還需調用。
  1. 內容濃縮或節錄至: 前端工程 進階大師指南 

Comments