Funksjon som variabel i JavaScript
Så, i forrige leksjon fant vi ut at ved å referere til en funksjon uten parenteser, får vi dens kildekode.
Egentlig er det mye mer interessant. I JavaScript, i motsetning til andre språk, er funksjoner like verdier av variabler som tall, strenger og arrays.
La oss se på et eksempel. La oss si at vi
har, for eksempel, en funksjon func:
function func() {
console.log('!');
}
Egentlig har vi ikke en funksjon func.
Vi har en variabel func som lagrer
kildekoden til funksjonen.
Vi kan for eksempel overskrive variabelen
func med noe annet, for eksempel
en streng. I dette tilfellet vil funksjonen func
ikke lenger være en funksjon, men en streng.
Se på eksemplet:
function func() {
console.log('!');
}
func(); // vil skrive ut '!'
func = 'string'; // overskriver variabelen func
console.log(func); // vil skrive ut 'string'
Lag en funksjon func som
returnerer via return en streng.
Skriv ut resultatet av funksjonen func
i konsollen.
Skriv ut kildekoden til funksjonen func
i konsollen.
Sett variabelen func til tallet 123,
og dermed overskriv funksjonen i denne variabelen.
Skriv ut den nye verdien av variabelen func
i konsollen.