手记

链式调用 f(1)(2)(3) f(1,2)(3,4,5)

=======================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


0人推荐
随时随地看视频
慕课网APP