JavaScript'te Dış ve İç Fonksiyon Parametreleri
Dış fonksiyonun ve iç fonksiyonun parametre aldığı bir yapı kuralım:
javascriptfunction test(num) {
function func(localNum) {
console.log(localNum);
}
}
Dış fonksiyonun parametresini, iç fonksiyonun çağrısına aktaralım:
javascriptfunction test(num) {
function func(localNum) {
console.log(localNum); // 1 yazacak
}
func(num); //!! parametreyi aktarıyoruz
}
test(1); // parametre olarak sayı veriyoruz
Böylece, iç fonksiyonda num değişkeni ebeveyn
fonksiyondan gelen bir dış değişken olarak,
localNum değişkeni ise iç fonksiyonun yerel
değişkeni olarak erişilebilir olacaktır.
Bu iki değişkenin değerleri aynı olacaktır:
javascriptfunction test(num) {
function func(localNum) {
console.log(num); // 1 yazacak
console.log(localNum); // 1 yazacak
}
func(num);
}
test(1);
Aralarındaki fark şudur: eğer iç fonksiyonda
num değişkeni değiştirilirse, bu değişiklik
dış fonksiyonda da görülecektir:
javascriptfunction test(num) {
function func(localNum) {
num = 2; // num değişkenini değiştiriyoruz
}
func(num); // parametreyi aktarıyoruz
console.log(num); // 2 yazacak
}
test(1); // parametre olarak sayı veriyoruz
localNum değişkeni ise yerel olacaktır.
Onun değiştirilmesi, dış fonksiyonda herhangi
bir değişikliğe yol açmayacaktır. Üstelik
localNum değişkeninin kendisi de iç
fonksiyonun dışında görünmeyecektir:
javascriptfunction test(num) {
function func(localNum) {
localNum = 2; // num değişkenini değiştiriyoruz
}
func(num); // parametreyi aktarıyoruz
}
test(1); // parametre olarak sayı veriyoruz
Kodu çalıştırmadan, konsola ne yazılacağını belirleyin:
javascriptfunction test(num) {
function func(localNum) {
console.log(localNum);
}
func(num);
}
test(1);
Kodu çalıştırmadan, konsola ne yazılacağını belirleyin:
javascriptfunction test(num) {
function func(localNum) {
console.log(localNum);
}
func(num + 1);
}
test(1);
Kodu çalıştırmadan, konsola ne yazılacağını belirleyin:
javascriptfunction test(num) {
function func(localNum) {
console.log(num);
}
func(num + 1);
}
test(1);
Kodu çalıştırmadan, konsola ne yazılacağını belirleyin:
javascriptfunction test(num) {
function func(localNum) {
localNum = 2;
}
func(num);
console.log(num);
}
test(1);
Kodu çalıştırmadan, konsola ne yazılacağını belirleyin:
javascriptfunction test(num) {
function func(localNum) {
localNum = 2;
}
func(num);
console.log(localNum);
}
test(1);
Kodu çalıştırmadan, konsola ne yazılacağını belirleyin:
javascriptfunction test(num) {
function func(localNum) {
num = 2;
}
func(num);
console.log(num);
}
test(1);