在JavaScript中,你可以使用闭包(Closure)来实现一个无限累加的函数。闭包是JavaScript中的一个重要概念,它可以让函数访问并操作函数外部的变量。
以下是一个简单的实现:
function createAccumulator() {let sum = 0; // 初始化累加器return function(n) {sum += n; // 累加输入的值return sum; // 返回当前的累加结果};
}// 使用示例
let accumulator = createAccumulator();
console.log(accumulator(5)); // 输出:5
console.log(accumulator(10)); // 输出:15
console.log(accumulator(3)); // 输出:18
在这个例子中,createAccumulator
函数返回了一个新的函数,这个新函数可以访问并修改createAccumulator
函数内部的sum
变量。每次调用这个新函数时,它都会把输入的值加到sum
上,并返回新的累加结果。由于闭包的特性,sum
变量的值会在每次函数调用之间保持状态,从而实现了一个无限累加的函数。