【发布时间】:2016-07-06 16:00:04
【问题描述】:
我有这个函数,它需要能够接收多组输入并返回每个输入的总和。例如:
magicFunction(1)(2)(3) => 6
我用下面的代码完成了这个。 'f(y)' 将一直运行,直到没有输入集为止。
function magicFunction(x) {
var sum = x;
function f(y) {
sum += y;
return f;
};
return f;
}
我的问题是我希望函数返回总和,但这个函数最后会返回 '[Function: f]'。所以目前,该函数执行以下操作:
magicFunction(1)(2)(3) => [Function: f]
我不知道如何在最后一次输入后返回总和。有没有办法检查代码是否到达最后一个输入集?因此,我可以运行“return sum”,而不是“return f”。
我考虑过添加一个“toString”方法,然后使用“console.log”来输出结果。但我正在寻找返回值的函数,而不仅仅是将值输出到控制台。
【问题讨论】:
标签: javascript input closures