Массив с анонимными функциями в JavaScript

Я уже упоминал ранее, что функции в JavaScript ведут себя, будто строки или числа.

В частности, можно сделать массив, состоящий из функций. Сделаем:

let arr = [ function() {alert('1')}, function() {alert('2')}, function() {alert('3')}, ];

Давайте, например, выведем алертом содержимое нулевого элемента массива:

let arr = [ function() {alert('1')}, function() {alert('2')}, function() {alert('3')}, ]; alert(arr[0]); // увидим исходный код первой функции

Как вы видите, в примере выше мы получаем исходный код функции, а не результат.

Чтобы происходил вызов функции, к ней нужно дописать круглые скобки. Так как наша функция хранится в arr[0], то круглые скобки нужно будет написать после квадратных, вот так: arr[0]().

Проверим:

let arr = [ function() {alert('1')}, function() {alert('2')}, function() {alert('3')}, ]; arr[0](); // выведет '1'

Можно также перебрать наш массив с функциями циклом и в этом цикле вызвать каждую из функций:

let arr = [ function() {alert('1')}, function() {alert('2')}, function() {alert('3')}, ]; for (let func of arr) { func(); // вызываем наши функции в цикле }

Сделайте массив arr с тремя функциями. Пусть первая возвращает через return число 1, вторая - число 2, третья - число 3.

Используя созданный вами массив arr выведите на экран число 3, вызвав соответствующую функцию.

Используя созданный вами массив arr найдите сумму результатов функций (без цикла).

Переберите созданный вами массив arr циклом и выведите результаты работы всех функций на экран.