ここにあるすべての例は、それを宣言する方法を示しているように見えますが、それを使用する方法は示していません。@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
最初に呼び出されるため、意図しない副作用が発生します。