改变函数内部的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对象。

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