Aksesi në variabla të jashtme të funksioneve në JavaScript
Le të shqyrtojmë kodin e mëposhtëm:
let num = 1; // caktojmë vlerën e variablës
function func() {
console.log(num); // e shfaqim atë në konsol
}
func(); // thërrasim funksionin
Siç e kam përmendur më parë, vlera e variablës nuk është e domosdoshme të jetë para përcaktimit të funksionit, kryesorja është që të jetë para thirrjes së tij:
function func() {
console.log(num);
}
let num = 1;
func();
Në fakt kjo nuk është plotësisht e saktë. Funksioni ynë
edhe para thirrjes së vet e di vlerën e variablës
num:
let num = 1;
function func() {
console.log(num); // funksioni tashmë e di se num = 1
}
Këtu është një shembull më i ndërlikuar:
let num = 1; // funksioni në këtë moment mëson se num = 1
function func() {
console.log(num);
}
num = 2; // funksioni në këtë moment mëson se num = 2
Le të shtojmë thirrje të funksionit:
let num = 1; // funksioni në këtë moment mëson se num = 1
func(); // do të shfaqë 1
function func() {
console.log(num);
}
func(); // do të shfaqë 1
num = 2; // funksioni në këtë moment mëson se num = 2
func(); // do të shfaqë 2
Edhe një herë: në fakt funksioni i di vlerat e variablave të jashtme, edhe pa u thirrur.