Массив с анонимными функциями в JavaScript
Я уже упоминал ранее, что функции в JavaScript ведут себя, будто строки или числа. В частности, можно сделать массив, состоящий из функций. Сделаем:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
Давайте, например, выведем в консоль содержимое нулевого элемента массива:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
console.log(arr[0]); // увидим исходный код первой функции
Как вы видите, в примере выше мы получаем исходный код функции, а не результат.
Чтобы происходил вызов функции, к ней нужно
дописать круглые скобки. Так как наша функция
хранится в arr[0], то круглые скобки
нужно будет написать после квадратных, вот
так: arr[0](). Проверим:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
arr[0](); // выведет '1'
Можно также перебрать наш массив с функциями циклом и в этом цикле вызвать каждую из функций:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
for (let func of arr) {
func(); // вызываем наши функции в цикле
}
Сделайте массив arr с тремя функциями.
Пусть первая возвращает через return
число 1, вторая - число 2,
третья - число 3.
Используя созданный вами массив arr
выведите в консоль число 3, вызвав
соответствующую функцию.
Используя созданный вами массив arr
найдите сумму результатов функций (без цикла).
Переберите созданный вами массив arr
циклом и выведите результаты работы всех
функций в консоль.