一、bind、call、apply都是用来改变this指向的
1.call的用法:
let Abao = {
name:"啊爆",
mgs:"我是帅哥",
say(mgs){
console.log("我叫",this.name);
console.log("我是",mgs);
}
}
let ycy = {
name:"杨超越",
mgs:"我是美女",
say(mgs){
console.log("我叫",this.name);
console.log("我是",mgs);
}
}
// Abao.say.call(ycy,"靓仔") //将say挂在yyqx上面执行
// ycy.say.apply(Abao,["靓女"]) //apply传入的是数组
const say = Abao.say.bind(ycy,"我不是靓女")
say()
//输出:
// 我叫 杨超越
// 我是 我不是靓女
2.apply的用法:
1.call和apply的传参方式不同,apply传入参数的是数组。
2.bind和call、apply的返回值不同,bind是返回函数,call和apply返回的是函数调用。