作用一样,将调用的函数this的指向绑定输入的第一个参数,仅仅是参数不同。
注意:call()方法的作用和 apply() 方法类似,区别就是call()方法接受的是参数列表,而apply()方法接受的是一个参数数组。
call():call(thisArg: any, ...argArray: any[]): any
apply():apply(thisArg: any, argArray?: any): any
function test(a,b){
console.log(this.name);
console.log(a+b);
}
const xiaomi={name:"小明"};
const xiaohong={name:"小红"};
const args=[1,2];
//输出 小明 3
test.call(xiaomi,...args); //此处是 es6 写法,等价于 test.call(xiaomi, 1, 2)
//输出 小红 3
test.apply(xiaohong,args);