JavaScriptda Funktsiyalarning Leksik Muhiti
Funktsiyaga tashqaridan mavjud bo'lgan barcha o'zgaruvchilar, uning leksik muhiti deb ataladi (LexicalEnvironment).
Quyidagi misolda funktsiyaga ikkita o'zgaruvchi
mavjud: num1 va num2, ular
bizning funktsiyamizning leksik muhitidir:
let num1 = 1;
let num2 = 2;
function func() {
// funktsiya num1 va num2 o'zgaruvchilari haqida biladi
}
Leksik muhitning o'zi JavaScriptning funktsiyamizga bog'langan ma'lum bir ichki ob'ektini ifodalaydi. Bunday holda uni quyidagicha tasvirlash mumkin:
{num1: 1, num2: 2}
Leksik muhitdagi har qanday o'zgaruvchining qiymati har doim shu o'zgaruvchining joriy qiymatiga teng:
let num1 = 1; // muhit {num1: 1}
let num2 = 2; // muhit {num1: 1, num2: 2}
// num1 o'zgaruvchisini o'zgartiramiz:
num1 = 123; // muhit {num1: 123, num2: 2}
function func() {
}
Funktsiya ichida qandaydir o'zgaruvchiga murojaat qilishga uringanimizda, birinchi navbatda bu o'zgaruvchi funktsiyaning mahalliy o'zgaruvchilari orasida qidiriladi va agar u yerda bunday o'zgaruvchi bo'lmasa, u holda funktsiyaning leksik muhitida qidiriladi.