gpt4 book ai didi

javascript - 高阶 javascript 函数

转载 作者:数据小太阳 更新时间:2023-10-29 04:26:13 29 4
gpt4 key购买 nike

谁能给我解释一下下面的代码是怎么回事。该函数正在接收 n 作为参数,那么 m 来自哪里?整个代码令人困惑。如果有人可以解释一下?

  function greaterThan(n) {
return function(m) { return m > n; };
}
var greaterThan10 = greaterThan(10);
console.log(greaterThan10(11));
// → true

最佳答案

这展示了一种称为 currying 的函数式编程技术。 . (也与 partial function appliction 相关)

大于 > 通常有 2 个参数(一个在左边,一个在右边)。这是一种一次喂一个的方法。

如果将其称为内联,可能更容易看到发生了什么:

greaterThan(10)(11);

从上面的示例中可以看出,10 被传递给 n 参数,然后 11 被传递给 for m 参数。

第一个通过 10 的应用程序输出如下所示的函数:

function(m) { return m > 10; };

这是部分应用中的第一个应用

从那里很容易看出 11 是如何被传入以获得最终结果的。

所以,分解一下:

function greaterThan(n) {
return function(m) { return m > n; };
}

//var greaterThan10 = greaterThan(10); -- is equivalent to:
var greaterThan10 = function(m) { return m > 10; };

console.log(greaterThan10(11)); //--> true

关于javascript - 高阶 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30019787/

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