gpt4 book ai didi

javascript - 什么是 'Currying' ?

转载 作者:行者123 更新时间:2023-12-05 07:23:17 26 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/56080676/

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