一个函数
1 | function show(x, y){ |
要改变它的this指向,有几种方法:
方法1:call
格式: 函数名.call();
参数:第一个参数:传入该函数this指向的对象,传入什么就强制指向什么
从第二个参数开始,将原函数的参数往后顺延一位
注:call主要目的是为了绑定参数,apply则是出现…运算符之前的老旧写法
1 | show.call("call", 20, 40); |
方法2:apply
格式:函数名.apply();
参数:第一个参数;传入该函数this指向的对象,传入什么就强制指向什么
第二个参数:数组,放入原有的所有参数
1 | show.apply("call", [20, 40]); |
方法3:bind预设this指向
1 | function show(x, y){ |
apply使用方法的小技巧
1 | Math.min(); |
等同于
1 | var arr = [10,20,30,40,50]; |