Skip to content

在JavaScript中,你可以通过创建一个返回函数的函数来实现这种链式调用的模式。这种模式通常被称为柯里化(Currying)的一种形式,尽管在这个例子中,我们并没有减少参数的数量,而是延迟了它们的处理。

javascript
function add() {  
    let sum = 0;  
  
    function innerAdd(num) {  
        sum += num;  
        return innerAdd;  
    }  
  
    innerAdd.getResult = function() {  
        return sum;  
    };  
  
    return innerAdd;  
}  

let result = add(1)(2)(3);  
console.log(result.getResult()); // 输出 6

在这个例子中,add 函数返回了一个名为 innerAdd 的内部函数。innerAdd 函数接受一个数字参数,将其加到 sum 变量上,然后返回自己。因此,你可以连续调用 add(1)(2)(3),每次调用都会将新的数字添加到 sum 中。