<分区>
我们将这种类型的参数传递 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 - jqGrid 返回 rowObject 未定义
javascript - 点击第n个元素后,如何操作另一个第n个元素?