为了账号安全,请及时绑定邮箱和手机立即绑定

bind()函数里面为什么返回函数里要用return fn.apply(context,arguments)而不是fn(arguments)

bind()函数里面为什么返回函数里要用return fn.apply(context,arguments)而不是fn(arguments)

qq_犬夜叉_0 2016-03-08 22:19:28
fucntion bind(fn,context){return function(){    return fn.apply(context,arguments);};}还有,为什么要返回两次,不能直接返回return fn.applay(context,arguments)?麻烦老师解答!!
查看完整描述

1 回答

?
李晓健

TA贡献1036条经验 获得超461个赞

fn.apply(context,arguments);  是为了绑定作用域,也就是说fn中的this应该指向谁。

fn.apply(context,arguments); 会直接把fn方法执行掉,调用bind后需要返回一个方法,所以就会有两次返回,这样的话当你执行bind时就会得到一个方法

查看完整回答
反对 回复 2016-03-09
  • 1 回答
  • 0 关注
  • 1545 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信