近日复习JS看到这三个方法多方查阅资料进行了一些简单总结如下:
(1)相同点:都可以改变函数内部的this指向
(2)区别点:
1.call和apply会调用函数,并且改变函数内部this指向
2.call和apply传递的参数不一样,call传递参数以aru1,aru2…形式,apply必须以数组的形式[arg]
3.bind不会调用函数,可以改变函数内部this指向
(3)主要应用场景:
1.call经常做继承
2.apply经常跟数组有关系,比如借助与数学对象实现数组max、min
3.bind不调用函数,改变函数内部this指向。eg:改变定时器内部this