JavaScript-də Funksiyaların Xarici Dəyişənlərə Girişi
Gəlin aşağıdakı kodu nəzərdən keçirək:
let num = 1; // dəyişənə qiymət təyin edirik
function func() {
console.log(num); // onu konsola çıxarırıq
}
func(); // funksiyanı çağırırıq
Daha əvvəl qeyd etdiyim kimi, dəyişənin qiyməti mütləq funksiyanın təyinindən əvvəl olmalı deyil, əsas olan, onun funksiyanın çağırılmasından əvvəl müəyyən edilməsidir:
function func() {
console.log(num);
}
let num = 1;
func();
Əslində bu, tam olaraq belə deyil. Bizim funksiyamız
öz çağırılmasından əvvəl belə dəyişənin qiymətini
bilir num:
let num = 1;
function func() {
console.log(num); // funksiya artıq bilir ki, num = 1
}
Budur daha mürəkkəb bir nümunə:
let num = 1; // funksiya bu anda öyrənir ki, num = 1
function func() {
console.log(num);
}
num = 2; // funksiya bu anda öyrənir ki, num = 2
Gəlin funksiya çağırışları əlavə edək:
let num = 1; // funksiya bu anda öyrənir ki, num = 1
func(); // 1 çıxardacaq
function func() {
console.log(num);
}
func(); // 1 çıxardacaq
num = 2; // funksiya bu anda öyrənir ki, num = 2
func(); // 2 çıxardacaq
Bir daha: əslində funksiya xarici dəyişənlərin qiymətlərini, hətta çağırılmayanda belə bilir.