javascript - 我们怎么称呼这种类型的参数传递 mul(1)(2)(3) 如何解决这个问题以及在 n 个参数传递的情况下如何解决这种情况

标签 javascript jquery

<分区>

我们将这种类型的参数传递 mul(1)(2)(3) 称为什么?如何解决这个问题以及如何解决在 n 个参数这样传递的情况下的情况。 我想了解这个概念是如何运作的。

最佳答案

它叫做 currying .

主要部分是一次又一次地返回同一个函数。

然后你需要一个机制来得到结果。在 Javascript 中,如果调用函数需要原始值,则调用 toString 方法。

function mul(x) {
    function f(y) {            // the function to return
        x *= y;                // update the value
        return f;              // return the function
    };

    f.toString = function () { // overwrite toString prototype
       return x;               // return value
    };

    return f;                  // return function, enable currying
}

console.log(mul(1)(2)(3));
console.log(mul(1)(2)(3)(4)(5)(6));

关于javascript - 我们怎么称呼这种类型的参数传递 mul(1)(2)(3) 如何解决这个问题以及在 n 个参数传递的情况下如何解决这种情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44347757/

相关文章:

javascript - 如何通过在输入字段中输入值并使用 AngularJS 获取与该值或 id 对应的数据来显示 JSON 文件中存储的数据

Javascript document.cookie = "key=value"追加而不是替换

javascript - 为什么 d3 在第二次更新时删除数据

javascript - JS if else if else

javascript - 从 jquery 添加伪样式

javascript - jqGrid 返回 rowObject 未定义

javascript - 点击第n个元素后,如何操作另一个第n个元素?

javascript - 获取对象属性

javascript - 使用 AJAX 轮询数据库更改并将新更改附加到 Rails 中的 View

javascript - 为什么jQuery或诸如getElementById之类的DOM方法找不到元素?