⊗jsPmFTAFA 239 of 505 menu

Pole s anonymnými funkciami v JavaScripte

Už som spomínal, že funkcie v JavaScripte sa správajú ako reťazce alebo čísla. Konkrétne, môžeme vytvoriť pole, ktoré sa skladá z funkcií. Poďme na to:

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

Poďme napríklad vypísať do konzoly obsah nultého prvku poľa:

let arr = [ function() {console.log('1')}, function() {console.log('2')}, function() {console.log('3')}, ]; console.log(arr[0]); // uvidíme zdrojový kód prvej funkcie

Ako vidíte, v príklade vyššie dostávame zdrojový kód funkcie, nie jej výsledok.

Aby došlo k volaniu funkcie, je potrebné k nej dopísať okrúhle zátvorky. Keďže naša funkcia je uložená v arr[0], tak okrúhle zátvorky je potrebné napísať za hranaté, takto: arr[0](). Vyskúšajme:

let arr = [ function() {console.log('1')}, function() {console.log('2')}, function() {console.log('3')}, ]; arr[0](); // vypíše '1'

Môžeme tiež prechádzať naše pole s funkciami cyklom a v tomto cykle volať každú z funkcií:

let arr = [ function() {console.log('1')}, function() {console.log('2')}, function() {console.log('3')}, ]; for (let func of arr) { func(); // voláme naše funkcie v cykle }

Vytvorte pole arr s tromi funkciami. Nech prvá vráti pomocou return číslo 1, druhá - číslo 2, tretia - číslo 3.

Pomocou vytvoreného poľa arr vypíšte do konzoly číslo 3, volaním príslušnej funkcie.

Pomocou vytvoreného poľa arr nájdite súčet výsledkov funkcií (bez cyklu).

Prechádzajte vytvorené pole arr cyklom a vypíšte výsledky práce všetkých funkcií do konzoly.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť