Funktion som variabel i JavaScript
Så i den forrige lektion fandt vi ud af, at når vi henviser til en funktion uden parenteser, får vi dens kildekode.
Faktisk er det meget mere interessant. I JavaScript, i modsætning til andre sprog, er funktioner de samme variable værdier som tal, strenge og arrays.
Lad os se på et eksempel. Antag, at vi
har en funktion, for eksempel func:
function func() {
console.log('!');
}
Faktisk har vi ikke funktionen func.
Vi har variablen func, som lagrer
kildekoden til funktionen.
Vi kan for eksempel overskrive variablen
func med noget andet, for eksempel
en streng. I dette tilfælde vil funktionen func
ikke længere være en funktion, men en streng.
Se eksemplet:
function func() {
console.log('!');
}
func(); // vil udskrive '!'
func = 'string'; // overskriver variablen func
console.log(func); // vil udskrive 'string'
Lav en funktion func, som
returnerer en streng via return.
Udskriv resultatet af funktionen func
i konsollen.
Udskriv kildekoden til funktionen func
i konsollen.
Tildel variablen func tallet 123,
hvorved du overskriver funktionen i denne variabel.
Udskriv den nye værdi af variablen func
i konsollen.