Array med anonyme funksjoner i JavaScript
Jeg har nevnt tidligere at funksjoner i JavaScript oppfører seg som strenger eller tall. Spesielt kan man lage et array som består av funksjoner. La oss lage:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
La oss for eksempel skrive innholdet i det nullte elementet i arrayet til konsollen:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
console.log(arr[0]); // vil se kildekoden til den første funksjonen
Som du ser i eksemplet over, får vi kildekoden til funksjonen, ikke resultatet.
For å kalle funksjonen må du
legge til parenteser. Siden funksjonen vår
lagres i arr[0], må parentesene
skrives etter hakeparentesene, slik:
arr[0](). La oss sjekke:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
arr[0](); // vil logge '1'
Du kan også gå gjennom arrayet vårt med funksjoner med en løkke og i denne løkken kalle hver av funksjonene:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
for (let func of arr) {
func(); // kaller funksjonene våre i løkken
}
Lag et array arr med tre funksjoner.
La den første returnere via return
tallet 1, den andre - tallet 2,
den tredje - tallet 3.
Bruk arrayet arr du opprettet
for å skrive tallet 3 til konsollen ved å kalle
den tilsvarende funksjonen.
Bruk arrayet arr du opprettet
for å finne summen av resultatene fra funksjonene (uten løkke).
Gå gjennom arrayet arr du opprettet
med en løkke og skriv resultatene fra alle
funksjonene til konsollen.