Parametreli Fonksiyonlar

Parametre; fonksiyon tanımlanırken girdi olarak alınan öğelerdir.

Argüman; fonksiyon çağrılırken gönderilen öğelerdir. Argüman olarak verilen öğenin kendisi işleme alınmaz, değerinin bir kopyası işleme alınır. Parametreli bir fonksiyon tanımlayalım ve argüman vererek fonksiyonu çağıralım.

Örnek.

let ders = 'Argüman';
function parametreGoster(para1) { //'para1' bir parametredir.
    alert(para1); //para1'in değeri gönderilen argümanın değeridir.
    para1 = 'Parametre';
    alert(para1); //parametrenin değeri değişir.
}
parametreGoster(ders); // 'ders' değişkenini fonksiyona argüman yaptık.
alert(ders); //gönderilen argümanın esas değeri işlemlerden etkilenmez.

Argüman olarak gönderilen öğenin bir kopyası fonksiyon içinde kullanılır bu sebeple üst kapsamdaki öğenin değeri değişmez.

Parametreler için varsayılan değerler verilebilir. Örnek.

let arg1, arg2; // değeri undefined olan iki değişken
parametreGoster(arg1, arg2); // arg1 = kapsam, arg2 = ders

function parametreGoster(kapsam = 'Yerel Kapsam: ', ders = 'Fonksiyonlar') {
    alert(kapsam + ders);
}

Argümanlar gönderildikleri sıra ile parametrelerle eşleştirilirler. Bu sebeple argümanları parametrelere uygun sırada vermeye dikkat ediniz. Örnek.

let arg1 = 'Global Kapsam: ', arg2 = 'Parametreler ';
parametreGoster(arg2, arg1); // arg2 = kapsam, arg1 = ders

function parametreGoster(kapsam = 'Yerel Kapsam: ', ders = 'Fonksiyonlar') {
    alert(kapsam + ders);
}

Parametre ile tanımlanan bir fonksiyona argüman göndermezsek ne olur? Deneyelim.

degistir(); // argümansız çağırdık.
function parametreGoster(para1, para2) {
    alert(para1 + ' ' + para2);
}

Yine çalışır. Bizler şimdiye kadar birçok çıktıyı elde etmek için fonksiyon içinde alert(); kullandık. Peki bir fonksiyonu alert(); fonksiyonuna argüman olarak göndersek ? Deneyelim.

function foo () {
    let mesaj = 'Fonksiyon';
}
alert( foo() ); //undefined çıktısı verir.

Sonuç undefined olduğuna göre demek ki fonksiyonlar bir değer döndürebilir. Fonksiyon bitiminde return ifadesi ile bu değeri kontrol edebiliriz.

Last updated