JavaScriptda funksiyalarning tashqi o'zgaruvchilarga kirishi
Quyidagi kodni ko'rib chiqaylik:
let num = 1; // o'zgaruvchi qiymatini belgilaymiz
function func() {
console.log(num); // uni konsolga chiqaramiz
}
func(); // funksiyani chaqiramiz
Ilgari ta'kidlaganimdek, o'zgaruvchi qiymati funksiya aniqlanishidan oldin bo'lishi shart emas, asosiysi, u chaqirilishidan oldin bo'lsin:
function func() {
console.log(num);
}
let num = 1;
func();
Aslida bu mutlaqo to'g'ri emas. Bizning funksiyamiz
hatto o'z chaqirilishidan oldin ham num o'zgaruvchisining
qiymatini biladi:
let num = 1;
function func() {
console.log(num); // funksiya allaqachon num = 1 ekanligini biladi
}
Mana yanada murakkab misol:
let num = 1; // funksiya bu paytda num = 1 ekanligini bilib oladi
function func() {
console.log(num);
}
num = 2; // funksiya bu paytda num = 2 ekanligini bilib oladi
Funksiya chaqiruvlarini qo'shamiz:
let num = 1; // funksiya bu paytda num = 1 ekanligini bilib oladi
func(); // 1 chiqadi
function func() {
console.log(num);
}
func(); // 1 chiqadi
num = 2; // funksiya bu paytda num = 2 ekanligini bilib oladi
func(); // 2 chiqadi
Yana bir bor: aslida funksiya tashqi o'zgaruvchilarning qiymatlarini, hatto chaqirilmaganda ham biladi.