1. ホーム
  2. function

[解決済み】コールバックをわかりやすく説明するには?ある関数から別の関数を呼び出すのとはどう違うのですか?

2022-03-25 21:38:26

質問

コールバックをわかりやすく説明するには?ある関数を別の関数から呼び出すのと、呼び出した関数から何らかのコンテキストを受け取るのと、どう違うのでしょうか?初心者のプログラマーにその威力を説明するにはどうしたらいいでしょうか?

解決するには?

しばしばアプリケーションは、そのコンテキスト/状態に応じて異なる関数を実行する必要があります。そのために、呼び出すべき関数に関する情報を格納する変数を使用します。アプリケーションは必要に応じて、この変数に呼び出すべき関数の情報を設定し、同じ変数を使って関数を呼び出します。

javascriptでは、以下のような例です。ここでは、メソッドの引数を変数として使用し、関数に関する情報を保存しています。

function processArray(arr, callback) {
    var resultArr = new Array(); 
    for (var i = arr.length-1; i >= 0; i--)
        resultArr[i] = callback(arr[i]);
    return resultArr;
}

var arr = [1, 2, 3, 4];
var arrReturned = processArray(arr, function(arg) {return arg * -1;});
// arrReturned would be [-1, -2, -3, -4]