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

大佬们遇到过这个问题吗?retuen 函数 return 函数()大佬们有什么好的建议?

大佬们遇到过这个问题吗?retuen 函数 return 函数()大佬们有什么好的建议?

波斯汪 2019-09-09 20:33:02
varfn=function(a,b,c){returna+b+c;}varcurry=function(fn){varlastarr=[]returnfunctioncurrying(){lastarr=lastarr.concat([].slice.call(arguments))if(lastarr.length
查看完整描述

2 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

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

TA贡献1155条经验 获得超0个赞

是的。这里有个先决条件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-09-09
  • 2 回答
  • 0 关注
  • 182 浏览
慕课专栏
更多

添加回答

举报

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