⊗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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне