改變函數內部的this指針的指向

每個函數都包含兩個非繼承來的方法call()和apply();

使用call()或者apply(),可以改變this的指向;

假設要改變fn函數內部的this的指向,指向obj,那麼可以fn.call(obj);或者fn.apply(obj);
.
.
.
call和apply的區別:

call和apply的區別在於參數,他們兩個的第一個參數都是一樣的,表示調用該函數的對象;

apply的第二個參數是數組,是[arg1,arg2,arg3]這種形式,而call是arg1,arg2,arg3這樣的形式。
.
.
.
另外還可以用bind函數:

var bar=fn.bind(obj);

那麼fn中的this就指向obj對象了,bind函數返回新的函數,這個函數內的this指針指向obj對象。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章