美文网首页
call apply bind 区别

call apply bind 区别

作者: 月半女那 | 来源:发表于2018-05-15 18:11 被阅读0次

    1.call 和 apply

        其实call 和 apply 的功能是一样的,都是用来改变this的指向问题唯一的区别就是传参方式不一样

        apply(this, [num1, num2]);

        call(this, num1, num2);

    call的参数是一个一个的传,而apply的参数是以数组的格式传进去

    2.bind

       bind()是es5中的方法,他也是用来实现上下文绑定,看它的函数名就知道。bind()和call与apply不同。bind是新创建一个函数,然后把它的上下文绑定到bind()括号中的参数上,然后将它返回。

    const obj = {}

    function test(...args) {console.log(args)}

    const newFn = test.bind(obj,'静态参数1','静态参数2')newFn('动态参数3','动态参数4')

    相关文章

      网友评论

          本文标题:call apply bind 区别

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