Перадача ліку параметрам у 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 перадаць функцыю, якая ўзводзіць у квадрат, а можам, напрыклад, якая ўзводзіць у куб:

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

// Знайдзем квадрат ліку:
test(2, function(num) {
  return num * num; // вяртае квадрат
});

// Знайдзем куб ліку:
test(2, function(num) {
  return num * num * num; // вяртае куб
});
Задание 1

Хай функцыя test першым параметрам прымае лік, а другім і трэцім параметрамі - функцыі, таксама параметрам якія прымаюць лікі. Хай функцыя test вяртае суму вынікаў перададзеных функцый:

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

Выклічце функцыю test, першым параметрам перадаўшы лік 3, другім параметрам функцыю, якая ўзводзіць лік у квадрат, а трэцім - функцыю, якая ўзводзіць лік у куб. Выведзіце вынік працы ў кансоль.