改变函数内部this指针的指向函数(bind,apply,call的区别)
先说区别:
再说一下适用场合:
当我们需要传递的参数不多时,可以选择call:
fun.call(thisObj, arg1, arg2);
当我们需要传递的参数比较多时,可以先将参数放至一个数组,然后选择apply:
args=[arg1,arg2,arg3...]; fun.apply(thisObj, args);
当我们想要生成一个新的函数长期绑定某个函数给某个对象使用,就可以选择bind:
var newFun = Fun.bind(thisObj); newFun(arg1,arg2);