Function.prototype.curry=function(){
var arr = [];
var self=this;
return function () {
if (arguments.length > 0) {
arr = arr.concat(Array.from(arguments));
return arguments.callee;
} else {
return self.apply(null, arr);
}
}
}
function getSum(){
var arr = Array.from(arguments);
var sum = arr.reduce(function (value, item) {
return value + item;
});
return sum;
}
var fn=getSum.curry();
fn(10)(20);
fn(30,40,50);
fn(100);
var sum=fn();
console.log(sum);