我现在回调fn是什么以及它是如何工作的,但我似乎不明白它是如何在jQuery中调用的,例如:
$('#btn').click(function(){
alert('Test');
});
我知道当click方法执行完毕后,回调fn会被调用,但我只是不明白该匿名回调fn是如何被调用的。
在这个例子中:
function Greeting(function(){alert('Callback fn inside Greeting');}){
alert('Inside Greeting fn');
}
我假设在显示Greeting内部警报后,那么我的回调fn将被调用,但事实并非如此。我只是看到这个错误“未捕获的语法错误:意外的令牌功能”。我的问题是,如何调用我在Greeting Fn中作为参数的匿名回调fn?提前致谢。
答案 0 :(得分:3)
你需要分别做两件事:
在您的第二个示例中,您同时执行这两个操作 - 您需要将它们分开。以下是您的工作方式:
// 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