具体要求如下:
// 第一种,思路,这样一个函数就可以了
function sum(...arr) {
let num = arr.reduce((pre, cur) => {
return pre + cur;
}, 0);
function suum(...arg) {
const y = arg.reduce((pre, cur) => {
return pre + cur;
}, 0)
num += y;
return suum;
}
suum.valueOf = () => {
return num;
}
return suum;
}
// sum(1,2)(3,4)(9)
// 第二种,代码最少解,但是多了一个全局变量
let num = 0;
function sum(...arr) {
num += arr.reduce((pre, cur) => {
return pre + cur;
}, 0);
sum.valueOf = () => {
return num;
}
return sum;
}复制代码
目前只能想到这两个解法,一直想要一个解法,类似第二种递归方式,但是不要开头的全局变量let num,抛砖引玉,请大神指点