Еще вариант
function sum() {
var res;
sum.res = sum.res || 0;
sum.arg = sum.arg || 0;
sum.arg += arguments.length;
for (var i = 0; i < arguments.length; i++) sum.res += arguments[i];
if(sum.arg == 3){
res = sum.res;
sum.arg = sum.res = 0;
}else{
res = sum;
}
return res;
}
alert( 'sum(2, 5, 10) = ' + sum(2, 5, 10) + "\n"
+ 'sum(2, 5)(10) = ' + sum(2, 5)(10) + "\n"
+ 'sum(2)(5)(10) = ' + sum(2)(5)(10) + "\n"
+ 'sum(2)(5, 10) = ' + sum(2)(5, 10));