=======================f(1)(2)(3)=============
function add(x){
var sum=x;//暂存结果
let tmp=function(y){
sum=sum+y;
return tmp;//关键步骤 返回自身
}
tmp.toString=function(){
return sum;
}
return tmp;
}
console.log(add(1)(2)(3)(4))//f 10
//返回函数 1+2+3+4=10=========== f(1,2)(3,4,5)========
let result=0;
function add(){
let arr=[...arguments];
if(!arr.length)
return result;
let sum=arr.reduce((prev,cur)=>{
return prev+cur;
})*(result||1);
result=sum;
add.toString=function(){
return sum
}
return add
}
console.log(add(1)(2,3)(4))//f 20
//返回函数 1*(2+3)*(4)=20