Tilgang til eksterne variabler i funksjoner i JavaScript
La oss se på følgende kode:
let num = 1; // setter variabelens verdi
function func() {
console.log(num); // skriver den ut til konsollen
}
func(); // kaller funksjonen
Som jeg nevnte tidligere, trenger ikke variabelens verdi å være før definisjonen av funksjonen, hovedpoenget er at den må være før den kalles:
function func() {
console.log(num);
}
let num = 1;
func();
Egentlig er det ikke helt slik. Vår funksjon
vet verdien av variabelen
num selv før den kalles:
let num = 1;
function func() {
console.log(num); // funksjonen vet allerede at num = 1
}
Her er et mer komplekst eksempel:
let num = 1; // på dette tidspunktet lærer funksjonen at num = 1
function func() {
console.log(num);
}
num = 2; // på dette tidspunktet lærer funksjonen at num = 2
La oss legge til funksjonskall:
let num = 1; // på dette tidspunktet lærer funksjonen at num = 1
func(); // skriver ut 1
function func() {
console.log(num);
}
func(); // skriver ut 1
num = 2; // på dette tidspunktet lærer funksjonen at num = 2
func(); // skriver ut 2
Igjen: faktisk vet funksjonen verdiene av eksterne variabler, selv uten å være kalt.