This question already has answers here:
Higher-order functions in Javascript
                                
                                    (4个答案)
                                
                        
                                4年前关闭。
            
                    
在《 Eloquent JavaScript》一书的第5章中,有一个我不太了解的示例。这是嘈杂的功能:

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)(0)。这是如何运作的?您能以这种方式调用函数并放置参数吗?非常感谢任何帮助,谢谢!

最佳答案

Boolean作为参数noisy传递到f中。 noisy本身返回一个函数,并且0作为参数arg传递到该返回的函数中。

10-08 19:04