JavaScript-də Funksiyaların Leksik Muhiti
Funksiyaya mənsub olmayan, lakin ona əlçatan olan bütün dəyişənlər, onun leksik mühiti adlanır (LexicalEnvironment).
Aşağıdakı nümunədə funksiyaya iki dəyişən əlçatandır:
num1 və num2, hansılar ki,
bizim funksiyamızın leksik mühitini təşkil edir:
let num1 = 1;
let num2 = 2;
function func() {
// funksiya num1 və num2 dəyişənləri haqqında məlumat əldə edir
}
Leksik mühitin özü JavaScript-in funksiyamıza bağlanmış daxili bir obyektidir. Bu halda onu aşağıdakı formada təqdim etmək olar:
{num1: 1, num2: 2}
Leksik mühitin istənilən dəyişəninin dəyəri həmişə həmin dəyişənin cari dəyərinə bərabərdir:
let num1 = 1; // mühit {num1: 1}
let num2 = 2; // mühit {num1: 1, num2: 2}
// num1 dəyişənini dəyişək:
num1 = 123; // mühit {num1: 123, num2: 2}
function func() {
}
Funksiya daxilində hər hansı bir dəyişənə müraciət etməyə çalışdıqda, ilk növbədə həmin dəyişən funksiyanın lokal dəyişənləri arasında axtarılır və əgər belə bir dəyişən yoxdursa, onda funksiyanın leksik mühitində axtarılır.