1. call是一个方法,是函数的方法,call可以调用函数 call可以改变函数中this的指向
2. apply传参方式不同
3. bind会作为一个返回值返回出来,然后再调
<script>
let dog = {
name: '旺财',
sayName() {
console.log('我是' + this.name);
},
eat(food1, food2) {
console.log('我喜欢吃' + food1 + food2);
}
}
let cat = {
name: '喵喵'
}
dog.sayName() //我是旺财
dog.sayName.call(cat) //我是喵喵
dog.eat.call(cat, "鱼", '肉') //我喜欢吃鱼肉
// apply传参方式不同
dog.eat.apply(cat, ['鱼', '肉']) //我喜欢吃鱼肉
// bind会作为一个返回值返回出来,然后再调
let fun = dog.eat.bind(cat, "鱼", '肉') //我喜欢吃鱼肉
fun()
</script>