Javascript 匿名回调函数

Javascript anonymous callback function

我现在知道什么是回调 fn 以及它是如何工作的,但我似乎不明白它在 jQuery 中是如何被调用的,例如:

$('#btn').click(function(){
    alert('Test');
});

我知道当click方法执行完后,回调fn会被调用,但我就是不明白那个匿名回调fn是怎么调用的。

在这个例子中:

function Greeting(function(){alert('Callback fn inside Greeting');}){
          alert('Inside Greeting fn');
        }

我假设在显示 Greeting 中的警报后,然后我的回调 fn 将被调用,但它没有。我刚看到这个错误 "uncaught syntax error: unexpected token function"。我的问题是,如何在 Greeting fn 中调用作为参数的匿名回调 fn?提前致谢。

您需要分别做两件事:

  1. 定义接受匿名回调的函数
  2. 调用该函数,并传入回调。

在您的第二个示例中,您同时进行了这两项操作 - 您需要将它们分开。以下是您的操作方式:

// Step 1: Define the function that takes an anonymous callback

function Greeting(callback) {
    console.log("inside Greeting! About to call callback.");
    callback(); // Actually call the callback function.
    console.log("Finished calling callback");
}

// Step 2: Call that function with the anonymous callback

Greeting(function() { console.log("This is the anonymous function."); });

该代码的输出是:

inside Greeting! About to call callback.
This is the anonymous function.
Finished calling callback