Geriye Değer Döndürmeyen Fonksiyonlar (Javascript)
Javascriptte fonksiyon kullanımını bu linkteki yazımızda daha önce daha detaylı görmüştük. Şimdi Geriye Değer Döndürmeyen Fonksiyonlar (Javascript) ‘ ı anlatmaya çalışacağız.
Öncelikle bir fonksiyon üzerinde olayı anlatmaya çalışalım. Başta belirtmeyi unutmayalım aşağıdaki javascript kodu çalışmayacaktır. Şimdi nedenini sorgulayalım. Aşağıda “yazili” isimli bir fonksiyon tanımladık. Bu fonksiyonda kullanıcıdan s1 ve s2 adındaki değişkenlerden değer alınarak atama işlemi gerçekleştiriliyor. Ardından s1 ve s2 yi toplayıp 2’ ye bölüyor ve bu sonucu “ortalama” isimli değişkene atıyor. Bu fonksiyon bir “geriye değer döndürmeyen fonksiyondur”. Peki neden ? Çünkü fonksiyonda yapılan hesaplamalar sonucunda elde edilen sonuç fonksiyon dışarısına çıkarılamazlar. Örneğin kullanıcı 1.yazılıya 10 değerini girsin 2.yazılıya 20 değerini girsin. Sonuç hesaplanarak “ortalama” isimli değişkene aktarılır. Burada bir problem yok. Ancak bu fonksiyonda hesaplanan 15 değerini fonksiyonun { } bloklarının dışına çıkaramazsınız. 15 değerini { } bloklarının dışına çıkartmak için “geriye değer döndüren fonksiyon” türünü kullanmalısınız. “Geriye değer döndüren fonksiyonlar”la ilgili makaleye buradan ulaşabilirsiniz. İşte bu nedenle bu kod yapısı çalışmaz. 9.satıra dikkat edin. Yazılı fonksiyonunun değer döndürdüğünü varsaymış ve “yazili ( );” şeklinde çağırdığında 15 sonucunun “sozlunotu” ile toplanacağını sanıyoruz. Ama bu durum gerçekleşmez çünkü bu fonksiyon geriye değer döndürmez yani 15 değeri sadece fonksiyonun { } blokları içerinde kullanılabilir. Ancak burada fonksiyonun dışında kullanılmak istenmiş. Bu da kodların çalışmaması anlamına gelir.
- <script>
- function yazili( )
- {
- var s1 = prompt(“Lütfen 1.yazılıyı giriniz: “);
- var s2= prompt(“Lütfen 2.yazılıyı giriniz: “);
- var ortalama = (s1+s2) / 2
- }
- var sozlunotu = prompt(“Lütfen sözlü notunu giriniz: “);
- var donemnotu = ( sozlunotu + yazili() ) / 2 ;
- </script>
Bu durumu geriye değer döndürmeyen fonksiyon türüyle yapacaksak ancak aşağıdaki gibi düzeltebiliriz.
- <script>
- function yazili( )
- {
- var s1 = prompt(“Lütfen 1.yazılıyı giriniz: “);
- var s2= prompt(“Lütfen 2.yazılıyı giriniz: “);
- var ortalama = (s1+s2) / 2
- var sozlunotu = prompt(“Lütfen sözlü notunu giriniz: “);
- var donemnotu = (sozlunotu + ortalama) / 2 ;
- }
- </script>
Burada aslında şunu yaptık. Fonksiyonun dışındaki hesaplamaları fonksiyonun içerisine alarak hatayı giderdik. Yani fonksiyonun döndürdüğü değeri dışarıya çıkartmadığımız için diğer işlemleri fonksiyonun içerisine aldık.
Bir sonraki yazımız “Geriye Değer Döndüren Fonksiyonlar” a buradan ulaşabilirsiniz. Görüşmek üzere.
Not: Makale özgün bir makaledir. Alıntı yapmadan kullanılamaz. @bilgisayar.name
Geriye Değer Döndürmeyen Fonksiyonlar (Javascript)