Именованные функции-параметры в 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 с теми же именами.