Array med anonyme funktioner i JavaScript
Jeg har tidligere nævnt, at funktioner i JavaScript opfører sig som strenge eller tal. Specielt kan man lave et array, der består af funktioner. Lad os gøre det:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
Lad os for eksempel udskrive indholdet af det nulte element 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 funktion
Som du kan se i eksemplet ovenfor, får vi kildekoden til funktionen, ikke resultatet.
For at funktionen bliver kaldt, skal den
have parenteser tilføjet. Da vores funktion
er gemt i arr[0], skal parenteserne
skrives efter de kantede parenteser, sådan
her: arr[0](). Lad os tjekke:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
arr[0](); // vil udskrive '1'
Man kan også gennemgå vores array med funktioner i en løkke og i denne løkke kalde hver af funktionerne:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
for (let func of arr) {
func(); // kalder vores funktioner i løkken
}
Lav et array arr med tre funktioner.
Lad den første returnere tallet 1 via return,
den anden - tallet 2,
den tredje - tallet 3.
Brug det array arr, du har oprettet,
til at udskrive tallet 3 til konsollen ved at kalde
den tilsvarende funktion.
Brug det array arr, du har oprettet,
til at finde summen af funktionernes resultater (uden løkke).
Gennemgå det oprettede array arr
med en løkke og udskriv resultaterne af alle
funktioner til konsollen.