Именовани функции-параметри в JavaScript

Функциите, които се предават като параметри, не е задължително да са анонимни.

Нека ги направим като Function Declaration. Първата функция ще наречем get1, а втората - get2:

javascriptfunction get1() {
  return 1;
}
function get2() {
  return 2;
}

Нека предадем като параметри на функцията test имената на функциите get1 и get2 (т.е. техния изходен код, а не резултата):

javascriptfunction get1() {
  return 1;
}
function get2() {
  return 2;
}

test(get1, get2); // ще изведе 3

function test(func1, func2) {
  console.log( func1() + func2() );
}

Нека преработим на Function Expression:

javascriptlet get1 = function() {
  return 1;
}
let get2 = function() {
  return 2;
}

test(get1, get2); // ще изведе 3

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

Направете функция test, която приема като параметри 3 функции и връща сумата от резултатите на предадените функции.

Задание 2

Направете 3 функции, като ги декларирате като Function Declaration и им дадете имена func1, func2 и func3. Нека първата функция връща 1, втората - 2, а третата - 3. Предайте тези функции като параметри на функцията test от предишната задача.

Задание 3

Модифицирайте предишната задача така, че функциите да бъдат декларирани като Function Expression със същите имена.