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

高级技巧中的bind方法怎么理解

高级技巧中的bind方法怎么理解

开满天机 2018-10-16 13:30:39
function bind(fn, context){return function(){     return fn.apply(context, arguments); };}这是JavaScript高级程序设计高级技巧中bind方法 对这个方法我有两点疑问:1、argument是里面的方法的参数集合,但是又传不到参数给里面的方法,那这个argument有什么意义?2、调用里面的fn时,为什么要加return,不加也可以调用啊,加了有什么意义?
查看完整描述

1 回答

?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

举个简单例子

var a = 0;var obj = {a:2};function add(x,y){ return this.a + x + y;}

在非严格模式下

add(3,4) //7bind(add,obj)(3,4) //9
  1. arguments 是传到返回的函数里面的 也就是上文的 类似[3,4]的东西(array like)

  2. return 是返回了一个值
    不 return

    • 如果函数是只有副作用的 比如触发一个动作,改某个变量的值的那是没啥

    • 如果没副作用函数 比如我上面这个add 那你怎么写能到达我现在要的效果...


查看完整回答
反对 回复 2018-11-04
  • 1 回答
  • 0 关注
  • 440 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号