美文网首页
call apply bind

call apply bind

作者: charllote8 | 来源:发表于2018-01-04 23:08 被阅读0次

    函数调用中常见到call apply bind,我们来简单阐述一下三种函数方法;
    这三种方法一般用来指定this的环境
    call
    1.call方法:function.call(this,参数1,参数2),第一个参数为function运行时制定的this值,若不传默认为undefined或者null,在非严格模式下自动指向全局对象
    2.apply方法与call方法相似:function.apply(this, [argsArray]),与call方法的区别是在于提供参数的方式,apply 使用参数数组而不是一组参数列表
    3.bind方法
    bind方法与apply方法,call方法的区别是call和apply都是改变上下文中的this并立即执行这个函数,bind方法新创建一个函数,然后把它的上下文绑定到bind()括号中的参数上,然后将它返回,可以让对应的函数想什么时候调就什么时候调用,并且可以将参数在执行的时候添加
    如下:

    var a = {
        
        fn:function(e,d,f){
            
            console.log(e,d,f); 
        }
    }
    var b = a.fn;
    b.call(a,10);//10
    b.apply(a,[8,9]);//8,9
     var c = b.bind(a,10);c(1,2);//10,1,2
    

    相关文章

      网友评论

          本文标题:call apply bind

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