最初のパラメーターとして関数を除く jQueryの.click()
関数。Javascript 関数には、値だけでなく、プリミティブ値またはオブジェクトもあります。関数は第一級市民です。
パラメータとして使用するfunction1(event)
と、関数が実行されます。これは、関数名の後の括弧のセマンティックであるためです。そのため、.click()
jQuery 関数は関数の出力を受け取りますが、これは予期された型ではありません。
関数名をパラメーターとして渡すということは、関数呼び出しの結果ではなく、関数 (実際には、関数への参照) を渡すことを意味します。クリックイベントがトリガーされると、関数が呼び出されます。この場合の関数を「コールバック」と呼びます。
クライアント側のスクリプトを使用する主な理由はイベント駆動型の動作であるため、Javascript ではコールバックが非常に重要です。
コールバックシステムのコンセプトは
//the click function
function doSomething(callback){
//in your case the event is the argument that jQuery will prepare for you
var argument = produceTheArgument();
//doSomething is in charge to invoke the function, passing the argument
callback(argument);
}
//your function
function myCallback(argument){
//your function will consume the argument
}
//my callback is passed as a reference, not invoked
doSomething(myCallback);