如何在javascript中实现一个可以像
一样调用的加法器函数adder(1,2)(5,6,2)(4,9,10,11)(6,7).....()
该函数应接受任意数量的参数并将它们全部加在一起。可以通过以下方式调用该函数。
adder(2,3,5) // prints 10
adder(2,3)(5) // prints 10
adder(2)(3)(5) //prints 10
使用闭包实现此功能的最佳方法是什么?
答案 0 :(得分:0)
function add(...values){
this.value=(this.value||0)+values.reduce((a,b)=>a+b),0);
return add.bind(this);
}
您需要一种方法将值传递出函数,我将值放入上下文中:
add(1,2,3)(4,5);
alert(value);