用js实现sum(1)(2)(3) 输出 6 sum(10)(20) 输出 30
时间: 2023-11-22 13:04:32 浏览: 106
用程序求10+20,并输出结果
可以通过返回一个函数,来实现链式调用,每次调用时将参数保存到一个数组中,当调用次数达到所需时,累加数组中的值并返回结果。下面是一个示例代码:
```javascript
function sum(num) {
const nums = [num];
const add = (nextNum) => {
nums.push(nextNum);
return add;
};
add.valueOf = () => nums.reduce((acc, val) => acc + val, 0);
return add;
}
console.log(sum(1)(2)(3)); // 输出 6
console.log(sum(10)(20)); // 输出 30
```
在这里,我们定义一个 `sum` 函数,它接受一个数字参数 `num`。它返回一个函数 `add`,用于接收下一个数字参数并返回自身以进行链式调用。每次调用时,我们将传入的值添加到 `nums` 数组中。当我们想要获取最终结果时,我们可以使用 `valueOf` 方法来计算数组中所有值的总和,并返回结果。
阅读全文