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

萌新求教!retuen 函数 return 函数()感激不尽

萌新求教!retuen 函数 return 函数()感激不尽

叮当猫咪 2019-08-05 23:08:24
varfn=function(a,b,c){returna+b+c;}varcurry=function(fn){varlastarr=[]returnfunctioncurrying(){lastarr=lastarr.concat([].slice.call(arguments))if(lastarr.length
查看完整描述

2 回答

?
慕莱坞森

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

这里为什么只是currying不是currying()前一种不是只是返回currying函数但没执行吗
是的,这里返回了一个函数。
所以all=curry(fn)是一个函数,all(1)也是一个函数,all(1)(2)还是一个函数。
直到all(1)(2)(3)才真正调用了fn并返回了结果。
                            
查看完整回答
反对 回复 2019-08-05
?
撒科打诨

TA贡献1934条经验 获得超2个赞

是的。这里有个先决条件lastarr.lengthall(1):lastarr中追加参数1,长度为1,不执行,返回函数all(1):lastarr中追加参数1,长度为2,不执行,返回函数all(1):lastarr中追加参数1,长度为3,执行,返回值(运行fn(1,1,1),返回3)all(1):lastarr中追加参数1,长度为4,执行,返回值(运行fn(1,1,1,1),返回3)
                            
查看完整回答
反对 回复 2019-08-05
  • 2 回答
  • 0 关注
  • 304 浏览
慕课专栏
更多

添加回答

举报

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