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?提前致谢。
您需要分别做两件事:
- 定义接受匿名回调的函数
- 调用该函数,并传入回调。
在您的第二个示例中,您同时进行了这两项操作 - 您需要将它们分开。以下是您的操作方式:
// 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
我现在知道什么是回调 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?提前致谢。
您需要分别做两件事:
- 定义接受匿名回调的函数
- 调用该函数,并传入回调。
在您的第二个示例中,您同时进行了这两项操作 - 您需要将它们分开。以下是您的操作方式:
// 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