【发布时间】:2015-08-28 06:42:44
【问题描述】:
需要编写一个函数,最多可以获取 3 个参数并返回一个和。 这是一种方法,如何调用它:
add(2, 5, 10); // 17
add(2, 5)(10); // 17
add(2)(5)(10); // 17
add(2)(5, 10); // 17
我写了一个函数,可以做到:
function add(a) {
var currentSum = [].reduce.call(arguments, function(c, d) { return c + d; });
function f(b) {
currentSum += [].reduce.call(arguments, function(c, d) { return c + d; });
return f;
}
f.toString = function() {
return currentSum;
};
return f;
}
但是!挑战任务说我不能使用 toString of valueOf 来获得结果。 我该如何解决?
附:我注意到我挑战失败了,所以我为什么要问。
【问题讨论】:
-
挑战是不是也说要自己解决?
-
我已经注意到我自己失败了。这就是我问的原因。
-
好的,我可以给出线索你现在可以返回函数试试
-
但是我已经返回了一个函数...
-
已经结束 =) 我告诉我的雇主我去 SO 寻求答案 =) 我猜这等于失败 =)
标签: javascript function closures