javascript - 请解释一下这个高阶函数的javascript代码

标签 javascript functional-programming higher-order-functions

我正在按照 Eloquent JavaScript 书学习高阶函数。 我无法理解这段代码,为什么“Boolean”作为嘈杂的第一个参数传递?

这应该是改变其他函数的函数,我只是不明白它是如何工作的!

function noisy(f) {   
    return function(arg) {     
        console.log("calling with", arg);     
        var val = f(arg);     
        console.log("called with", arg, "- got", val);     
        return val;   }; 
} 
noisy(Boolean)(0); 
// → calling with 0 
// → called with 0 - got false

最佳答案

noisy 接受任何单参数函数作为其参数。它返回一个调用该函数的新函数,但在调用它之前和之后显示消息。

Boolean 只是他们使用的示例函数。它将其参数转换为 bool 数据类型。

关于javascript - 请解释一下这个高阶函数的javascript代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29550086/

相关文章:

node.js - Node js 中的静态类方法或纯函数

scala - 函数式编程中函数和方法的区别

java - 了解 Java 8 Lambda 表达式

scala - 修改列表中条件为真的元素

javascript - 检查下拉状态

angular - 如何判断何时创建新组件?

javascript - 如何使用 DOJO 更改 src 并重新加载 iframe?

scala - 在 Scala 中使用 FoldRight 的 FoldLeft

javascript - 输入 ID 时,将图像添加到来自 json 文件的警报中

javascript - 使用 jQuery 调整图像大小和居中