满足以下功能:
add(1).getValue(); // 1
add(1)(2).getValue(); // 3
add(1)(2)(3).getValue(); // 6
add(1)(2, 3).getValue(); // 6
add(1, 2)(3).getValue(); // 6
add(1, 2, 3).getValue(); // 6
function add(...args) {
function innerAdd(...innerArgs) {
args.push(...innerArgs);
return innerAdd;
}
innerAdd.getValue = function () {
return args.reduce((acc, curr) => acc + curr, 0);
};
return innerAdd;
}
// console.log(add(1)(2).getValue()); // 输出: 3