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.