Mjedisi Leksikor i Funksioneve në JavaScript
Të gjitha variablat e jashtëm, të aksesueshëm nga funksioni, quhen mjedisi i tij leksikor (LexicalEnvironment).
Në shembullin vijues, funksionit i janë të aksesueshme dy
variabla: num1 dhe num2, të cilat
përbëjnë mjedisin leksikor të funksionit tonë:
let num1 = 1;
let num2 = 2;
function func() {
// funksioni di për variablat num1 dhe num2
}
Vetë mjedisi leksikor përfaqëson ndonjë objekt të brendshëm JavaScript, i lidhur me funksionin tonë. Në këtë rast, ai mund të paraqitet në formën vijuese:
{num1: 1, num2: 2}
Vlera e çdo variabli të mjedisit leksikor është gjithmonë e barabartë me vlerën aktuale të atij variabli:
let num1 = 1; // mjedisi {num1: 1}
let num2 = 2; // mjedisi {num1: 1, num2: 2}
// Le të ndryshojmë variablin num1:
num1 = 123; // mjedisi {num1: 123, num2: 2}
function func() {
}
Kur përpiqemi të aksesojmë ndonjë variabël brenda funksionit, së pari ky variabël kërkohet midis variablave lokalë të funksionit dhe, nëse nuk gjendet i tillë aty, atëherë kërkohet në mjedisin leksikor të funksionit.