作用 :改变 this的指向,测试数据
function f1(arg1,arg2){ } 当f1 .call() f1内部的this指向window
当f1.call(f2,arg1,arg2) f1内部的this指向f2,后面的都是传参
当f1.apply(f2,[arg1,arg2]) 同上
//构造函数应用
var max = 9
var min= 3
var average = 6
var aaa={
max:999,
min:333,
getInfo:function(){
return `${this.max},${this.min}`
},
getParamInfo:function(a,b){
return `${this.max},${this.min},${a},${b}`
}
}
var bbb={
max:111,
min:22
}
console.log(aaa.getInfo())// AAA指向,999,333
console.log(aaa.getInfo.call(),'window 指向') //9,3
console.log(aaa.getParamInfo.call(),'window 指向') //9,3
console.log(aaa.getInfo.call(bbb),'bbb 指向') //111,22
console.log(aaa.getInfo.apply(bbb),'bbb 指向') //111,22
console.log(aaa.getParamInfo.call(bbb,55,66),'bbb 指向') //111,22
console.log(aaa.getParamInfo.apply(bbb,[55,66]),'bbb 指向') //111,22