gpt4 book ai didi

javascript - 理解 Eloquent JavaScript 函数式编程中的 apply 方法示例

转载 作者:行者123 更新时间:2023-11-30 08:52:29 25 4
gpt4 key购买 nike

我正在阅读 Eloquent JavaScript,我找到了 Functional programming (chapter 6) .我对以下示例感到困惑:

show(Math.min.apply(null, [5, 6]));

function negate(func) {
return function() {
return !func.apply(null, arguments);
};
}

*注意:show() 只是将输出打印到 Eloquent JavaScript 网站上的控制台。

我不明白 negate() 函数与 show() 中的代码有什么关系。在哪里调用了 negate() 函数?我没有看到该示例中的任何地方都使用了它,还是我错了?

最佳答案

给出的代码包含两个 示例。每个函数都有一个 apply 方法。在第一个示例中,Math.minapply 方法用于调用参数列表[5, 6]。第二个例子应该与前面的例子形成对比,在前面的例子中 negate 被定义为

function negate(func) {
return function(x) {
return !func(x);
};
}

在该示例中,negate(func) 返回一个新函数一个参数,该函数使用该单个参数调用 func,取反结果,并返回它。但是,如果 func 需要多个参数会怎样?这就是这个例子所涵盖的内容。

function negate(func) {
return function() {
return !func.apply(null, arguments);
};
}

在此定义中,negate(func) 返回一个新函数具有任意数量的参数,该函数使用提供的列表调用 func参数,否定结果,并返回它。

关于javascript - 理解 Eloquent JavaScript 函数式编程中的 apply 方法示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16656794/

25 4 0
文章推荐: machine-learning - Scikit 学习支持向量机的多类分类
文章推荐: javascript - 未捕获的类型错误 : Object # has no method 'transitionTo'