Upataji wa Vigeugeu vya Nje kwa Kazi katika JavaScript
Wacha tuchunguze msimbo ufuatao:
let num = 1; // weka thamani ya kigeu
function func() {
console.log(num); // kuionyesha kwenye koni
}
func(); // ita kazi
Kama nilivyotaja hapo awali, thamani ya kigeu si lazima iwe mbele ya ufafanuzi wa kazi, jambo kuu, ni kwamba iwe mbele ya kiitiko chake:
function func() {
console.log(num);
}
let num = 1;
func();
Kweli hii si sahihi kabisa. Kazi yetu
hata kabla ya kiitiko chake inajua thamani ya kigeu
num:
let num = 1;
function func() {
console.log(num); // kazi tayari inajua kuwa num = 1
}
Huu ni mfano mgumu zaidi:
let num = 1; // kazi wakati huu inapata habari kuwa num = 1
function func() {
console.log(num);
}
num = 2; // kazi wakati huu inapata habari kuwa num = 2
Wacha tuongeze miitiko ya kazi:
let num = 1; // kazi wakati huu inapata habari kuwa num = 1
func(); // itaonyesha 1
function func() {
console.log(num);
}
func(); // itaonyesha 1
num = 2; // kazi wakati huu inapata habari kuwa num = 2
func(); // itaonyesha 2
Kwa mara nyingine tena: kweli kazi inajua thamani za vigeugeu vya nje, hata bila kuitwa.