JavaScriptにおける関数のパラメータとしての渡し方

関数は、数値や文字列、配列と同様に、他の関数のパラメータとして渡すことができます。

具体的な例で詳しく見ていきましょう。 ここに、2つのパラメータを受け取る関数 test があるとします:

javascripttest(parameter1, parameter2);

関数 test の最初のパラメータとして 1 を返す無名関数を渡し、 2番目のパラメータとして 2 を返す無名関数を渡してみましょう:

javascripttest(
  function() {return 1;},
  function() {return 2;}
);

上記のコードは、まだ関数自体を定義していないため動作しません。それでは定義しましょう:

javascriptfunction test(func1, func2) {
  
}

関数を定義する際、2つのパラメータ - func1 と func2 - を指定しました。 これらのパラメータは、自分たちに何が渡されるかを知りません。 例えば、数値を渡すこともできます:

javascripttest(1, 2); // 関数を呼び出す

function test(func1, func2) {
  console.log(func1); // 1 を表示
  console.log(func2); // 2 を表示
}

また、関数を渡すこともできます:

javascripttest(
  function() {return 1;}, // 最初のパラメータ
  function() {return 2;}  // 2番目のパラメータ
);

function test(func1, func2) {
  console.log(func1); // 'function() {return 1;}' を表示
  console.log(func2); // 'function() {return 2;}' を表示
}

ご覧の通り、コンソールには関数のソースコードが表示されます。 今度は、その結果を表示するようにしてみましょう。そのために関数呼び出しの括弧を付けます:

javascripttest(
  function() {return 1;},
  function() {return 2;}
);

function test(func1, func2) {
  console.log( func1() ); // 1 を表示
  console.log( func2() ); // 2 を表示
}

最初の関数と2番目の関数の結果の合計をコンソールに表示してみましょう:

javascripttest(
  function() {return 1;},
  function() {return 2;}
);

function test(func1, func2) {
  console.log( func1() + func2() ); // 3 を表示
}
Задание 1

3つの関数をパラメータとして受け取る関数 test を作成してください。 最初のパラメータとして 1 を返す関数、 2番目として 2 を返す関数、 3番目として 3 を返す関数を渡します。 コンソールに関数の結果の合計を表示してください。