js中關於this的指向

爲何須要this

  • this提供了一種更優雅的方式來隱式「傳遞」一個對象引用,所以能夠將API 設計得更加簡潔而且易於複用

它的做用域

  • 它在任何狀況下都不指向詞法做用域。

定義

  • 每一個函數的this 是在調用時被綁定的,徹底取決於函數的調用位置

綁定規則

  • 默認綁定
  • 隱式綁定
  • 顯示綁定
  • new綁定

優先級

模擬call方法。

Function.prototype.mycall = function(context,...args){
  context = context ?? window
  //obj.fn1
  context.fnxxxx = this
  const r = context.fnxxxx
  delete context.fnxxxx
  return r
}

模擬bind方法

相關文章
相關標籤/搜索