НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
⊗jsPmFTAFA 239 of 505 menu

Массив с анонимными функциями в 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 циклом и выведите результаты работы всех функций в консоль.

Русский
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить