加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

apply call bind

发布时间:2020-12-14 04:32:49 所属栏目:大数据 来源:网络整理
导读:apply、call 区别 都是改变this 指向的; 对于 apply、call 二者而言,作用完全一样,只是接受参数的方式不太一样。例如,有一个函数定义如下: func .call( this, arg1, arg2); func .apply( this, [arg1,arg2]) bind() 方法与 apply 和 call 很相似,也是

apply、call 区别

都是改变this 指向的;

对于 apply、call 二者而言,作用完全一样,只是接受参数的方式不太一样。例如,有一个函数定义如下:

func.call(this,arg1,arg2); func.apply(this,[arg1,arg2])

bind() 方法与 apply 和 call 很相似,也是可以改变函数体内 this 的指向。

MDN的解释是:bind()方法会创建一个新函数,称为绑定函数,当调用这个绑定函数时,绑定函数会以创建它时传入 bind()方法的第一个参数作为 this,传入 bind() 方法的第二个以及以后的参数加上绑定函数运行时本身的参数按照顺序作为原函数的参数来调用原函数。

?

this.num = 9; var mymodule = { num: 81,getNum: function() { console.log(this.num); } }; mymodule.getNum(); // 81 var getNum = mymodule.getNum; getNum(); // 9,因为在这个例子中,"this"指向全局对象 var boundGetNum = getNum.bind(mymodule); boundGetNum(); // 81

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读