Qlobal dəyişənlər və JavaScript-də funksiya parametrləri
Tutaq ki, parametr kimi ədəd qəbul edən bir funksiyamız var:
function func(localNum) {
console.log(localNum);
}
Tutaq ki, funksiyanın xaricində num dəyişəni var:
function func(localNum) {
console.log(localNum);
}
let num = 1; // xarici qlobal dəyişən
Gəlin funksiyamızı çağıraq və ona num dəyişənini parametr kimi ötürək:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num); // funksiyanı parametrlə çağırırıq, 1 çıxardacaq
Nəticədə, funksiyanın daxilində həm localNum dəyişəni (funksiya parametri),
hem də num dəyişəni (xarici dəyişən kimi) əlçatan olacaq:
function func(localNum) {
console.log(num); // 1 çıxardacaq
console.log(localNum); // 1 çıxardacaq
}
let num = 1;
func(num);
localNum dəyişəninin özü funksiyanın lokal dəyişəni olacaq və xaricdən əlçatan olmayacaq:
function func(localNum) {
}
let num = 1;
func(num); // funksiyanı parametrlə çağırırıq
console.log(localNum); // səhv verəcək
localNum dəyişəni lokal olduğu üçün onunla edilən heç bir dəyişiklik xaricdə heç nəyi dəyişməyəcək:
function func(localNum) {
localNum = 2; // xaricdə heç nəyi dəyişmir
}
let num = 1;
func(num);
Əgər funksiyanın daxilində num (qlobal) dəyişəni dəyişdirilsə, dəyişikliklər xaricdə də görünəcək:
function func(localNum) {
num = 2;
}
let num = 1;
func(num);
console.log(num); // 2 çıxardacaq
Lakin, əgər funksiyanın daxilində num dəyişənini let ilə elan etsək,
beləliklə xarici dəyişənə heç bir təsir etməyən lokal num dəyişəni yaratmış olarıq:
function func(localNum) {
let num = 2; // let ilə elan edək
}
let num = 1;
func(num);
console.log(num); // 1 çıxardacaq - heç nə dəyişmədi
Kodu işə salmadan müəyyən edin ki, konsola nə çıxarılacaq:
function func(localNum) {
console.log(localNum);
}
func(1);
Kodu işə salmadan müəyyən edin ki, konsola nə çıxarılacaq:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num);
Kodu işə salmadan müəyyən edin ki, konsola nə çıxarılacaq:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num);
num = 2;
Kodu işə salmadan müəyyən edin ki, konsola nə çıxarılacaq:
let num = 1;
function func(localNum) {
console.log(localNum);
}
num = 2;
func(num);
Kodu işə salmadan müəyyən edin ki, konsola nə çıxarılacaq:
function func(localNum) {
localNum = 2;
}
let num = 1;
func(num);
console.log(num);
Kodu işə salmadan müəyyən edin ki, konsola nə çıxarılacaq:
function func(localNum) {
num = 2;
}
let num = 1;
func(num);
console.log(num);
Kodu işə salmadan müəyyən edin ki, konsola nə çıxarılacaq:
function func(localNum) {
let num = 2;
}
let num = 1;
func(num);
console.log(num);