JavaScript基礎概念之----call()、apply()、bind()

它們都是能夠改變this的指向。數組

call和apply都是改變上下文中的this並當即執行這個函數,app

call()和apply()的區別就在於,二者之間的參數。函數

bind方法可讓對應的函數想何時調就何時調用,而且能夠將參數在執行的時候添加this

var o = {}

function func(a,b,c){
  console.log(a);
}
//每一個參數單獨傳遞 func.call(o,1,2,3)
//當即執行 輸出 1
var o = {}

function func(a,b,c){
   console.log(b)
}
//參數以數組形式傳遞
func.apply(o,[
1,2,3]) //當即執行 輸出 2
var o = {}

function func(a,b,c){
   console.log(c)
}

var b = func.bind(o) //沒有當即執行
b(1,2,3)//輸出 3
相關文章
相關標籤/搜索