Taulukko nimettömillä funktioilla JavaScriptissä
Olen aiemmin maininnut, että funktiot JavaScriptissä käyttäytyvät kuin merkkijonot tai numerot. Erityisesti voit tehdä taulukon, joka koostuu funktioista. Tehdään:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
Esimerkiksi tulostetaan konsoliin taulukon nolla-alkion sisältö:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
console.log(arr[0]); // näemme ensimmäisen funktion lähdekoodin
Kuten näette, yllä olevassa esimerkissä saamme funktion lähdekoodin, emme tulosta.
Jotta funktiota kutsuttaisiin, siihen on lisättävä
pyöreät sulkeet. Koska funktiomme on tallennettu
muuttujaan arr[0], pyöreät sulkeet
on kirjoitettava hakasulkujen jälkeen, näin:
arr[0](). Tarkistetaan:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
arr[0](); // tulostaa '1'
Voimme myös käydä läpi funktiotaulukkomme silmukalla ja kutsua jokaisen funktion silmukan sisällä:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
for (let func of arr) {
func(); // kutsumme funktioitamme silmukassa
}
Tee taulukko arr, jossa on kolme funktiota.
Ensimmäinen palauttaa return-komennolla
luvun 1, toinen - luvun 2,
kolmas - luvun 3.
Käytä tekemääsi taulukkoa arr
tulostaaksesi konsoliin luvun 3 kutsumalla
vastaavaa funktiota.
Käytä tekemääsi taulukkoa arr
löytääksesi funktioiden tulosten summa (ilman silmukkaa).
Käy tekemäsi taulukko arr läpi
silmukalla ja tulosta kaikkien funktioiden
tulokset konsoliin.