call、aplly、bind三种方法都能实现改变函数执行时的上下文,简单来说就是改变函数运行时的this指向
区别
1、 call(): 第一个参数表示this指向的新目标,从第二个参数开始以参数列表的形式展现 用法:a.call(b,1,2,3);表示要把a函数的this指向修改为b的this指向,并且运行a函数,传进去的参数是(1,2,3)。
2、 apply():第一个参数表示this指向的新目标,第二个参数接受的是一个数组作为参数传入。 用法:a.apply(b,[1,2]);表示要把a函数的this指向修改为b的this指向,并且运行a函数,传进去的参数[1,2]
3、
注意:bind这个方法在IE6~8下不兼容