美文网首页
call、apply、bind的区别

call、apply、bind的区别

作者: Victor_818 | 来源:发表于2018-12-17 19:51 被阅读0次

    相同点:都是改变this的指向,把this作为第一个参数传进去

    xxx.fn.call(this);
    xxx.fn.apply(this);
    xxx.fn.bind(this)();
    // 把xxx函数中的this改为当前的this
    

    不同点:
    1、call和apply是对函数的直接调用,bind返回的还是一个函数;
    2、apply第二个参数可以传一个数组,而call必须用逗号隔开

    xxx.fn.call(this,arg1,arg2,arg3);
    xxx.fn.apply(this,[arg1,arg2,arg3]);
    

    相关文章

      网友评论

          本文标题:call、apply、bind的区别

          本文链接:https://www.haomeiwen.com/subject/aiackqtx.html