📜  什么是 JavaScript 中的柯里函数?

📅  最后修改于: 2022-05-13 01:56:47.541000             🧑  作者: Mango

什么是 JavaScript 中的柯里函数?

它是函数式编程中的一种技术,将多个参数的函数依次转换为单个参数的多个函数。
函数的翻译发生这样的事情,

我们简单地将函数包装在一个函数中,这意味着我们将从另一个函数返回一个函数以获得这种翻译。父函数接受第一个提供的参数并返回接受下一个参数的函数,并且不断重复直到参数数量结束。希望接收最后一个参数的函数返回预期的结果。

注意:一位名叫 Haskell Curry 的美国数学家开发了这种技术,这就是为什么它被称为柯里化。

示例 1:假设我们有一个长方体的长、宽和高,我们想构造一个可以计算体积的函数。正在调用该函数,该函数随后通过提供的参数执行其代码并返回适当的结果,最终console.log在控制台上打印返回值。

JavaScript


JavaScript


输出:

120

示例 2:此示例在闭包的帮助下解释了柯里化技术。在执行线程期间,将调用calculateVolume()函数。里面有一个匿名函数,接收一个参数并返回一些代码。我们正在从另一个函数中公开我们的函数,因此将创建闭包。闭包总是包含函数定义和父级的词法环境,两者都保持连接作为一个包。因此,我们在哪里调用它们并不重要,所有内部函数将始终保持对其父变量的访问。
一旦我们得到作为函数的返回结果,下一个参数就可以传递了,这个过程将一直持续到倒数第二个函数。最后,最里面的 return 关键字返回预期的结果。

JavaScript


输出:

120