1.call()

function say(arg1,arg2){
    
    console.log(this.name,arg1,arg2)
}
function Person(){
    name:'popo'
}
say.call(Person,'one','two')   //结果为popo one two

2.aplly()使用方法与call()不同之处就在传参方式上 say.apply(Person,['one','two'])

3.apply call 是绑定之后是立即调用的,所以需要匿名函数包装且需要传入原函数的参数argumengts. bind 会创建一个新函数,即函数副本

只有bind是将修改this指针后,返回一个新的函数,不会立即调用