美文网首页
call、apply、bind 的用法分别是什么?

call、apply、bind 的用法分别是什么?

作者: vousmevoyezLi | 来源:发表于2019-02-26 10:11 被阅读0次

    call,apply,bind都可以动态改变函数体内部的this指向,只是用法不同。call接受连续参数,apply接受数组参数,如

    function add(a,b){
        return a+b;
    }
    add.call(add, 5, 3); //8
    add.apply(add, [5, 3]); //8
    

    bind 接受的参数跟 call 一致,只是 bind 不会立即调用,它会生成一个新的函数,你想什么时候调就什么时候调。如下代码:

    function add(a, b){
        return a+b;
    }
    var foo1 = add.bind(add, 5,3); 
    foo1(); //8
    var foo1 = add.bind(add, 5,3); 
    foo1(); //8
    

    相关文章

      网友评论

          本文标题:call、apply、bind 的用法分别是什么?

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