const dog = {
name: '旺财',
getName() {
console.log("我的名字叫", this.name)
},
setFood(food) {
console.log(`我的名字叫${this.name}我喜欢吃${food}`)
}
}
const eat = {
name: "喵喵"
}
// 直接改变this指向
dog.getName.call(eat)
// 传参以逗号隔开的形式
dog.setFood.call(eat, '鱼')
// 传参以数组的形式
dog.setFood.apply(eat, ['鱼'])
// 需要使用一个参数去接收再去调用(可多次调用)
let fun = dog.setFood.bind(eat, '鱼')
fun()
结果