柯里化

86 阅读1分钟
   function fn1(){

            var list=[];

            return function(){
               //  传参等于0时
                if(arguments.length===0){
                     //将数组中的元素累加
                    var sum=list.reduce((v,t)=>v+t);
                     // 清空数组
                    list.length=0;

                    return sum;

                }else{

                    list.push(...arguments);

                }

            }

        }




        var fn=fn1();

        fn(1,2);

        fn(3,4,5);

        fn(6,7,8);

        var sum=fn()

        console.log(sum)