这里的所有示例似乎都显示了如何声明它,而不是如何使用它。我认为这也是@Kiran 有这么多问题的原因。
诀窍是声明使用回调的函数:
function doThisFirst(someParameter, myCallbackFunction) {
// Do stuff first
alert('Doing stuff...');
// Now call the function passed in
myCallbackFunction(someParameter);
}
someParameter
如果不需要,该位可以省略。
然后,您可以按如下方式使用回调:
doThisFirst(1, myOtherFunction1);
doThisFirst(2, myOtherFunction2);
function myOtherFunction1(inputParam) {
alert('myOtherFunction1: ' + inputParam);
}
function myOtherFunction2(inputParam) {
alert('myOtherFunction2: ' + inputParam);
}
注意回调函数是如何传入和声明的,没有引号或括号。
- 如果你使用
doThisFirst(1, 'myOtherFunction1');
它会失败。
- 如果您使用
doThisFirst(1, myOtherFunction3());
(我知道在这种情况下没有参数输入),那么它将myOtherFunction3
首先调用,因此您会得到意想不到的副作用。