如何创建一个闭包函数,它总结所有传递的参数,比如 this ?
JMenuItem
我想要一种通用的方法来实现这一目标。
答案 0 :(得分:4)
这里有重复,可能有更好的例子,但我现在找不到。您需要创建一个闭包来跟踪总和,然后返回 add 函数。给它 valueOf 和 toString 方法,以便它可以在其他操作中使用:
var add = (function() {
var sum = 0;
function add(n) {
sum += +n || 0;
return add;
}
add.valueOf = function(){
return sum;
}
add.toString = valueOf;
return add;
}());
document.write(add(1)(2)(3)(-2)); // 4
document.write('<br>' + add(2)(1) * 2); // 14
document.write('<br>' + add( -add())); // 0