将作为参数传递的多个变量添加到函数currying [英] Add multiple variable passed as parameter to function currying
本文介绍了将作为参数传递的多个变量添加到函数currying的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何使用函数currying实现这些方案?
How can I achieve these scenarios using function currying?
add(3,4)(3)
add(3)(4)(3)
add(3)(4,3)
我读了很多博客,找不到这种情况.有人可以帮我吗?
I have read so many blogs not able to find this kind of scenario. can someone help me on this.
推荐答案
像这样吗?
var total = 0;
function add(){
// Add up every argument received
for (var i in arguments)
total += arguments[i];
return add;
}
add(3,4)(3);
console.log(total);
add(3)(4)(3);
console.log(total);
add(3)(4,3);
console.log(total);
如果您不希望函数依赖于全局变量,请将该值另存为 add
函数的属性
If you do not want the function to depend on global variable, save the value as an attribute of add
function instead
function add(){
// Add up every argument received
for (var i in arguments)
add.total += arguments[i];
return add;
}
add.total = 0;
add.toString = function(){
var total = add.total;
add.total = 0;
return total;
};
var sum1 = add(3,4)(3);
alert( sum1 );
var sum2 = add(3)(4)(3);
alert( sum2 );
var sum3 = add(3)(4,3);
alert( sum3 );
这篇关于将作为参数传递的多个变量添加到函数currying的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文