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

ここで、渡される関数が何らかの処理を行う数値を、 test内部にハードコードするのではなく、 最初のパラメータとして渡すようにしましょう:

javascriptfunction test(num, func) { // 最初のパラメータとして数値が渡される
  console.log(func(num));
}

この関数を利用してみましょう:

javascriptfunction test(num, func) {
  console.log(func(num));
}

// 4を出力します:
test(2, function(num) {
  return num * num;
});

この構造の便利な点:数値をパラメータとして受け取る 関数testが一つあります。 しかし、その数値に対して何が行われるかは 関数test内にハードコードされていません。

例えば、関数testの2番目のパラメータとして、 2乗する関数を渡すことも、 例えば、3乗する関数を渡すこともできます:

javascriptfunction test(num, func) {
  console.log(func(num));
}

// 数値の2乗を求めます:
test(2, function(num) {
  return num * num; // 2乗を返す
});

// 数値の3乗を求めます:
test(2, function(num) {
  return num * num * num; // 3乗を返す
});
Задание 1

関数testが最初のパラメータとして数値を受け取り、 2番目と3番目のパラメータとして、 同様に数値をパラメータとして受け取る関数を受け取るとします。 関数testは、渡された関数の結果の合計を 返すものとします:

javascriptfunction test(num, func1, func2) {
  return func1(num) + func2(num);
}

関数testを呼び出し、 最初のパラメータとして数値3を渡し、 2番目のパラメータとして数値を2乗する関数を渡し、 3番目として数値を3乗する関数を渡してください。 結果をコンソールに出力してください。