条件付きで関数を実行し、結果を保存することについて話しているだけの場合...
var result;
if( condition ){
result = foo();
}else{
result = bar();
}
var myVar = result;
呼び出す関数を決定したいが、別の機会まで呼び出さない場合は、次を使用します。
// define some functions
function foo(){ return "foo"; }
function bar(){ return "bar"; }
// define a condition
var condition = false;
// this will store the function we want to call
var functionToCall;
// evaluate
if( condition ){
functionToCall = foo; // assign, but don't call
}else{
functionToCall = bar; // ditto
}
// call the function we picked, and alert the results
alert( functionToCall() );
コールバックは JS で非常に便利です...基本的に、コールバックは消費者に「適切だと思うときにこれを呼び出す」ように伝えます。
jQuery メソッドに渡されるコールバックの例を次に示しますajax()
。
function mySuccessFunction( data ){
// here inside the callback we can do whatever we want
alert( data );
}
$.ajax( {
url: options.actionUrl,
type: "POST",
// here, we pass a callback function to be executed in a "success" case.
// It won't be called immediately; in fact, it might not be called at all
// if the operation fails.
success: mySuccessFunction
} );