5.1 Qlobal Görünürlük Sahəsi
Görünürlük sahələri (scopes), proqramın müxtəlif hissələrində dəyişənlərə və funksiyalara giriş imkanını müəyyən edir. JavaScript-də üç əsas görünürlük sahəsi var: qlobal, lokal və blok. Bu görünürlük sahələrini anlamaq, məlumatları effektiv idarə etmək və kodda səhvlərin qarşısını almaq üçün vacibdir.
Qlobal görünürlük sahəsi, hər hansı bir funksiyanın və ya kod blokunun xaricində elan edilmiş bütün dəyişənləri və funksiyaları əhatə edir. Bu dəyişənlər və funksiyalar kodun istənilən yerindən əlçatandır.
Nümunə 1: Qlobal dəyişənlərin elan edilməsi
var globalVar = 'Mən qlobal dəyişənəm';
function showGlobalVar() {
console.log(globalVar); // Qlobal dəyişənə giriş
}
showGlobalVar(); // Ekrana çıxaracaq: Mən qlobal dəyişənəm
console.log(globalVar); // Qlobal dəyişənə giriş
Nümunə 2: Qlobal funksiyalar
Bu nümunədə globalVar
dəyişəni və globalFunction()
funksiyası qlobal görünürlük sahəsində elan olunub və kodun istənilən yerindən buna giriş mümkündür.
function globalFunction() {
return 'Mən qlobal funksiyam';
}
console.log(globalFunction()); // Ekrana çıxaracaq: Mən qlobal funksiyam
5.2 Lokal görünmə sahəsi
Lokal görünmə sahəsi funksiyanın daxilində elan olunmuş dəyişənləri və funksiyaları özündə birləşdirir. Bu dəyişənlər və funksiyalar yalnız həmin funksiyanın daxilində əlçatandır və onun hüdudlarından kənarda əlçatan deyil.
Nümunə 3: Lokal dəyişənlərin elanı
Bu nümunədə localVar
dəyişəni localScopeExample()
funksiyasının daxilində elan olunub və həmin funksiyadan kənarda əlçatan deyil:
function localScopeExample() {
var localVar = 'Mən lokal dəyişənəm';
console.log(localVar); // Lokal dəyişənə giriş
}
localScopeExample(); // Çıxış: Mən lokal dəyişənəm
console.log(localVar); // Xəta: localVar is not defined
Nümunə 4: Lokal funksiyalar
Bu nümunədə innerFunction()
funksiyası outerFunction()
funksiyasının daxilində elan olunub və outerFunction()
-dan kənarda əlçatan deyil:
function outerFunction() {
function innerFunction() {
return 'Mən lokal funksiyam';
}
console.log(innerFunction()); // Lokal funksiyaya giriş
}
outerFunction(); // Çıxış: Mən lokal funksiyam
console.log(innerFunction()); // Xəta: innerFunction is not defined
5.3 Blok görünürlük sahəsi
Blok görünürlük sahəsi let
və const
ilə blok içində elan olunmuş dəyişənləri əhatə edir, və bu dəyişənlər yalnız həmin blok daxilində əlçatandır, blok xaricində isə əlçatan deyil.
Nümunə 5: let ilə dəyişənlərin elan edilməsi
Bu nümunədə blockVar
dəyişəni if
blokunun içində elan edilib və blokun xaricində əlçatan deyil:
if (true) {
let blockVar = 'Mən blok səviyyəli dəyişənəm';
console.log(blockVar); // Blok dəyişəninə giriş
}
console.log(blockVar); // Xəta: blockVar təyin edilməyib
Nümunə 6: const ilə dəyişənlərin elan edilməsi
Bu nümunədə i
dəyişəni for
blokunun içində elan edilib və blokun xaricində əlçatan deyil:
for (const i = 0; i < 3; i++) {
console.log(i); // Blok dəyişəninə giriş
}
console.log(i); // Xəta: i təyin edilməyib
Blok görünürlük sahəsinin xüsusiyyətləri
Nümunə 7: Daxili bloklar
Bu nümunədə innerVar
dəyişəni yalnız daxili blokda əlçatandır, outerVar
dəyişəni isə həm xarici, həm də daxili blokda əlçatandır:
if (true) {
let outerVar = 'Mən xarici blokda yerləşirəm';
if (true) {
let innerVar = 'Mən daxili blokda yerləşirəm';
console.log(outerVar); // Xarici blok dəyişəninə giriş
console.log(innerVar); // Daxili blok dəyişəninə giriş
}
console.log(outerVar); // Xarici blok dəyişəninə giriş
console.log(innerVar); // Xəta: innerVar təyin edilməyib
}
5.4 Müxtəlif görünmə areallarının qarşılıqlı əlaqəsi
Nümunə 8: Qlobal və lokal görünmə arealının qarşılıqlı əlaqəsi
Bu nümunədə scopeExample()
funksiyası qlobal dəyişən globalVar
və öz lokal dəyişəni localVar
-a çıxış edə bilir:
var globalVar = 'Mən qlobal dəyişənəm';
function scopeExample() {
var localVar = 'Mən lokal dəyişənəm';
console.log(globalVar); // Qlobal dəyişənə çıxış
console.log(localVar); // Lokal dəyişənə çıxış
}
scopeExample(); // Çap edəcək: Mən qlobal dəyişənəm
// Mən lokal dəyişənəm
console.log(globalVar); // Qlobal dəyişənə çıxış
console.log(localVar); // Xəta: localVar təyin edilməyib
Nümunə 9: Görünmə arealları və ox funksiyası
Bu nümunədə ox funksiyası arrowFunction()
qlobal dəyişən globalVar
və öz lokal dəyişəni localVar
-a çıxış edə bilir:
let globalVar = 'Mən qlobal dəyişənəm';
const arrowFunction = () => {
let localVar = 'Mən ox funksiyasında lokal dəyişənəm';
console.log(globalVar); // Qlobal dəyişənə çıxış
console.log(localVar); // Lokal dəyişənə çıxış
};
arrowFunction(); // Çap edəcək: Mən qlobal dəyişənəm
// Mən ox funksiyasında lokal dəyişənəm
console.log(globalVar); // Qlobal dəyişənə çıxış
console.log(localVar); // Xəta: localVar təyin edilməyib
GO TO FULL VERSION