JavaScript-də xarici və daxili funksiyaların parametrləri
Gəlin elə edək ki, həm xarici funksiya həm də daxili parametrlər qəbul etsin:
function test(num) {
function func(localNum) {
console.log(localNum);
}
}
Xarici funksiyanın parametrini daxili funksiyanın çağırışına ötürək:
function test(num) {
function func(localNum) {
console.log(localNum); // 1 çap edəcək
}
func(num); //!! parametri ötürürük
}
test(1); // parametr kimi ədəd ötürürük
Belə çıxır ki, daxili funksiyada
num dəyişəni valideyn funksiyadan
gələn xarici dəyişən kimi və
localNum dəyişəni isə daxili funksiyanın
lokal dəyişəni kimi əlçatan olacaq.
Bu dəyişənlərin hər ikisi eyni qiymətə malik olacaq:
function test(num) {
function func(localNum) {
console.log(num); // 1 çap edəcək
console.log(localNum); // 1 çap edəcək
}
func(num);
}
test(1);
Onların arasındakı fərq belə olacaq: əgər
daxili funksiyada num dəyişəni dəyişdirilsə
- o, xarici funksiyada da dəyişəcək:
function test(num) {
function func(localNum) {
num = 2; // num dəyişənini dəyişirik
}
func(num); // parametri ötürürük
console.log(num); // 2 çap edəcək
}
test(1); // parametr kimi ədəd ötürürük
localNum dəyişəni isə lokal olacaq.
Onun dəyişməsi heç bir dəyişikliyə
səbəb olmayacaq. Və localNum dəyişəninin
özü də daxili funksiyanın xaricində görünməyəcək:
function test(num) {
function func(localNum) {
localNum = 2; // num dəyişənini dəyişirik
}
func(num); // parametri ötürürük
}
test(1); // parametr kimi ədəd ötürürük
Kodu işə salmadan müəyyən edin ki, konsola nə çap olunacaq:
function test(num) {
function func(localNum) {
console.log(localNum);
}
func(num);
}
test(1);
Kodu işə salmadan müəyyən edin ki, konsola nə çap olunacaq:
function test(num) {
function func(localNum) {
console.log(localNum);
}
func(num + 1);
}
test(1);
Kodu işə salmadan müəyyən edin ki, konsola nə çap olunacaq:
function test(num) {
function func(localNum) {
console.log(num);
}
func(num + 1);
}
test(1);
Kodu işə salmadan müəyyən edin ki, konsola nə çap olunacaq:
function test(num) {
function func(localNum) {
localNum = 2;
}
func(num);
console.log(num);
}
test(1);
Kodu işə salmadan müəyyən edin ki, konsola nə çap olunacaq:
function test(num) {
function func(localNum) {
localNum = 2;
}
func(num);
console.log(localNum);
}
test(1);
Kodu işə salmadan müəyyən edin ki, konsola nə çap olunacaq:
function test(num) {
function func(localNum) {
num = 2;
}
func(num);
console.log(num);
}
test(1);