gpt4 book ai didi

javascript - 'Currying'是什么?

转载 作者:行者123 更新时间:2023-12-03 06:54:45 25 4
gpt4 key购买 nike

我在几篇文章和博客中看到了对柯里化(Currying)函数的引用,但我找不到一个很好的解释(或者至少是一个有意义的解释!)

最佳答案

柯里化(Currying)是指将一个接受多个参数的函数分解为一系列函数,每个函数只接受一个参数。下面是一个 JavaScript 示例:

function add (a, b) {
return a + b;
}

add(3, 4); // returns 7

这是一个接受两个参数 a 和 b 并返回它们的和的函数。我们现在将柯里化(Currying)这个函数:

function add (a) {
return function (b) {
return a + b;
}
}

这是一个接受一个参数 a 的函数,并返回一个接受另一个参数 b 的函数,并且该函数返回它们的和。

add(3)(4); // returns 7

var add3 = add(3); // returns a function

add3(4); // returns 7
  • 第一个语句返回 7,与 add(3, 4) 语句类似。
  • 第二条语句定义了一个名为 add3 的新函数,该函数将将 3 添加到其参数中。 (这就是有些人所说的闭包。)
  • 第三条语句再次使用 add3 操作将 3 与 4 相加结果产生 7。

关于javascript - 'Currying'是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1352855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com