请向我解释此高阶函数javascript代码

问题描述 投票:0回答:2

我正在研究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
javascript functional-programming higher-order-functions
2个回答
4
投票

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

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


0
投票

布尔值是布尔值类型的构造函数。 它可以是任何功能。

© www.soinside.com 2019 - 2024. All rights reserved.