Değer Döndüren Fonksiyonlar
Bir fonksiyon sonunda return
ifadesi ile o fonksiyondan dışarı gönderilecek değer ifade edilir. Örnek.
function foo () {
let mesaj = 'Merhaba Fonksiyon';
return mesaj;
}
alert( foo() ); // 'Merhaba Fonksiyon' çıktısı verir.
return
ifadesi sayesinde bir değişkenin değerini fonksiyon ile atayabiliriz. Örnek.
function kareleriTopla (a, b) {
let sonuc;
sonuc = a**2 + b**2;
return sonuc;
}
let islem = kareleriTopla (12, 15); // fonksiyonun return ettiği değer oldu
alert(islem);
// veya daha temiz ifade ile
function kareleriTopla (a, b) {
return a**2 + b**2;
}
let sonuc = kareleriTopla (12, 15);
alert(sonuc);
return
ifadesinin temel işlevi fonksiyon bloktan çıkıştır, bitiştir. return
ile değer döndürmek zorunlu değildir. Çıkış olarak da kullanılabilir. Örnekler.
function islemOnay () {
if ( !confirm('İşleme Devam Edilecek Onaylıyor Musunuz?') ){
alert('İşlem Sonlandırıldı.');
return; //değer döndürmeden çıktık.
}
alert('İşleme devam ediliyor...');
return;
}
islemOnay();
function incToCM(uzunluk) {
return uzunluk /= 0.393;
}
alert( incToCM( prompt('İnç uzunluk değeri giriniz.',0)) );
function aralikToplama(min,max) {
alert(`${min} sayısından ${max} sayısına kadar olan sayılar toplanacak!`);
let sonuc = 0;
for (let i = Number(min); i < Number(max) + 1; i++) {
sonuc += i;
}
return sonuc;
}
alert( aralikToplama( prompt('Başlangıç Sayısı',0), prompt('Bitiş Sayısı',0)) );
function faktoriyel(n) {
let sonuc = 1;
for (let i = Number(n); i > 1; i--) {
sonuc *= i;
}
return sonuc;
}
alert( faktoriyel( prompt('Faktöriyeli alınacak sayıyı giriniz.',0)) );
Bir fonksiyon genellikle karmaşık olmayan tek bir görevi yerine getirir. Uzun ve karmaşık görevler için fonksiyonları parçalamanız önerilir.
Bir Fonksiyon = Bir Görev
Fonksiyon isimleri fonksiyonun görevini tanımlayan şekilde seçilmelidir.
function asalKontrol(sayi) {
for (let i = 2; i < sayi) {
if (sayi % i === 0) return 'Asal Değil';
}
return 'Asal';
}
alert( asalKontrol( prompt('Asallığı test edilecek sayıyı giriniz',0)) );
Fonksiyonu çağırdığımızda yürütülmesini sağlayan kritik sembol ()
parantezleridir. Peki bir fonksiyon ismini ()
ile çağırmadan kullanırsak? Deneyelim.
alert(foo);
function foo() {
//kodlar
return 'foo fonksiyonu';
}
Fonksiyonu oluşturan ifadeleri string
'miş gibi ekrana basar. Yani fonksiyonun ismi bir değişken ismi ve değeri de fonksiyonu oluşturan kodların string
ifadesidir. Bu şu anlama gelmektedir:
Fonksiyon tanımlarken kullandığınız ismi let
ile değişken olarak deklare edemezsiniz, hata verir. var
ile de deklare etmemeye de dikkat ediniz.
Bu uyarıyı test edelim.
alert(foo);
function foo() {
//kodlar
return 'foo fonksiyonu';
}
let foo = 'Bir değişken'; //bu satırda hata verir. aşağıdaki uyarı çalışmaz.
alert (foo);
alert(foo);
function foo() {
//kodlar
return 'foo fonksiyonu';
}
var foo = 'Artık bir fonksiyon değil';
alert(foo); //fonksiyonun üzerine yazdık.fonksiyon diye birşey kalmadı :)
()
olmadan da kullanabilme sayesinde bir fonksiyonu başka bir fonksiyona argüman yaparak geri çağırabilir veya bir değişkene değer olarak atayarak ifade edebiliriz.
Last updated