例如: ```js add(1)(2,3)(4).value() 输出: 10 ```
Activity
kexiaofu commentedon Sep 4, 2020
先来抛砖,希望可以引玉
考验的是闭包和this
oxyzhg commentedon Sep 4, 2020
m7yue commentedon Sep 4, 2020
思路都差不多
feng9017 commentedon Jan 4, 2021
z253573760 commentedon Feb 2, 2021
dlrandy commentedon Jun 8, 2021
function add(...params) {
let args = [...params];
function innerAdd(...p) {
args = args.concat(p);
return innerAdd;
}
function value() {
return args.reduce((s, n) => s + n , 0)
}
innerAdd.value = value;
return innerAdd;
}
xllpiupiu commentedon Oct 1, 2021
liu-mengwei commentedon Dec 6, 2022
function add(...args1) {
let _add = function (...args2) {
return add(...args1, ...args2);
};
_add.value = function () {
let sum = 0;
for (let num of args1) {
sum += num;
}
return sum;
};
return _add;
}