请解释一下这个高阶函数 javascript 代码
Please explain me this higher-order function javascript code
我正在学习 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
Boolean 是 Boolean 类型的构造函数。它可以是任何函数。
noisy
接受任何单参数函数作为其参数。它 returns 调用该函数的新函数,但在调用它之前和之后显示消息。
Boolean
只是他们使用的示例函数。它将其参数转换为布尔数据类型。
我正在学习 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
Boolean 是 Boolean 类型的构造函数。它可以是任何函数。
noisy
接受任何单参数函数作为其参数。它 returns 调用该函数的新函数,但在调用它之前和之后显示消息。
Boolean
只是他们使用的示例函数。它将其参数转换为布尔数据类型。