コールバック関数
関数は実行可能は実行可能なオブジェクトであることを前提として、コールバック関数では、他の関数の引数として関数を渡すことができます。
まず、こんんちはという表示がされる関数を以下のように定義したとします。
function hello() {
console.log("こんにちは");
}
続いて、「こんにちは」が表示される関数を渡す先の関数を以下のように定義したとします。
function call(cb) {
cb();
}
この記述は、関数callの引数にcbを設けて、cbが関数callの中で実行されるようにします。
以下のようにcallの引数に関数helloを定義してみます。
call(hello);
するとコンソールには、「こんにちは」と表示されるはずです。
これだとただhelloを実行しただけに留まるので、本来コールバック関数というのは別の関数を実行する事と、他の処理を実行することを同時に行う事が多い。
例えば名前を指定して、「〇〇さんこんにちは」となるようにしてみましょう。
function call(cb) {
cb("ぴろちん");
}
このようにcbの引数として、「ぴろちん」を設定しました。
そして初めに作った関数helloの引数に、nameを指定します。
function hello(name) {
console.log(name + "さんこんにちは");
}
このようにすることで、「ぴろちんさんこんにちは」と表示されたかと思います。