0
点赞
收藏
分享

微信扫一扫

js中call ,apply,bind的用法和区别

A邱凌 2022-03-13 阅读 54

区别:call和apply都是调用函数,传参方式不同。call和bind传参方式一样,call会直接调用,bind作为返回值返回函数。

let dog = {
        name: '旺财',
        sayName() {
            console.log('我是' + this.name);
        },
        eat(food1, food2) {
            console.log('我喜欢吃骨头' + food1 + food2);
        }
    }
    let cat = {
        name: 'maiomaio'
    }
    //call可以调用函数,call可以改变函数中的this指向
    // fun.call(cat);
    // dog.sayName.call(cat);
    // dog.eat.call(cat, '鱼', '肉');
    // dog.eat.apply(cat, ['鱼', '肉']);
    let fun = dog.eat.bind(cat, '鱼', '肉');
    fun();
举报

相关推荐

0 条评论