Java ScriptDe fonksiyona değer gönderme ve değer alma

Kayıt
7 Haziran 2008
Mesaj
533
Tepki
6
Bir fonksiyon ile Javascript programının diğer işlemlerinin ilk ilişkisi fonksiyona bir değer gönderme ve ondan bir değer almaktır. Bir fonksiyon, yaptığı işin sonucu olarak, kendisini göreve çağıran komuta veya fonksiyona kendi adıyla bir değer verebilir.

Bir örnek üzerinde düşünmeye başlayalım. Ziyaretçinizden telefon numarasını yazmasını istiyorsunuz. Ziyaretçi de sayfada bir INPUT kutusuna veya
Kod:
PROMPT


diyalog kutusuna telefon numarasını yazıyor. Bu numarayı, sayfada başka bir programda veya bölümde kullanmadan önce, gerçekten doğru yazılıp yazılmadığını irdelemek istiyorsunuz. Ziyaretçinin verdiği telefon numarasını bir fonksiyona havale edebilirsiniz; bu fonksiyon telefon numarası arzu ettiğimiz biçimde yazılmışsa olumlu, yazılmamışsa olumsuz yanıt verebilir. Bütün yapacağımız şey, ziyaretçiden alacağımız bilgiyi, bu fonksiyona argüman olarak geçirmekten ibaret; fonksiyonun sonuç olarak verdiği değer doğru ise işleme devam edeceğiz, değilse ziyaretçiyi uyararak, doğru bilgiyi girmesini isteyeceğiz.

Şimdi düz yazı programınızda şu kodu yazıp, fonksiyon1.htm adıyla kaydedin:




Kod:
<HTML>  
<HEAD>  
<meta>  
<TITLE>Javascriptte Fonksiyon</TITLE>  
<SCRIPT>  
<!-- Javascript kodunu eski sürüm Browserlardan saklayalim  
// fonksiyonu tanımlayalım:  
function dogruMu(numara )  
   {  
   var karakter = null  
   var durum = true  
   if(numara.length != 13 )  
      {  
   durum = false // durum değişkenin değeri değişti  
      }  
   else  
      {  
      for(var i = 0; i <12>= 0 &&  
         parseInt(karakter,10 ) <9>  
</SCRIPT>  
</HEAD>  
<BODY>  
<PRE>  
<SCRIPT>  
<Javascript>  
</SCRIPT>  
</PRE>  
</BODY>  
</HTML>





Bu sayfada, önce "if(dogruMu(numara ) )" şeklindeki ifadeye dikkat edelim. Javascript, bu noktada "dogruMu" fonksiyonu çağıracak, bunu yaparken de fonksiyona "numara" adı altında bir değer geçirecektir. (Bu değeri, çeşitli şekillerde elde edebiliriz; bir Form nesnesinde INPUT kutusundan alabileceğimiz gibi, burada olduğu gibi PROMPT diyalog kutusuyla da alabiliriz. ) Fonksiyondan bütün beklediğimiz "if" sorgulamasına "true" (doğru ) veya "false" (yanlış ) şeklinde bir karşılık vermesidir. Yukarıda "if" döngüsünü ele alırken, yanıtın doğru olması halinde ilk bölümdeki, yanlış olması halinde "else" bölümündeki komutların uygulandığını görmüştük. Şimdi burada dogruMu( ) fonksiyondan "true" sonucu dönerse, sayfaya teşekkür mesajı ve bilgi notu iki satır halinde yazılacak; "false" sonucu dönerse, ziyaretçi numarayı doğru yazması için uyarılacaktır. (Bu örnekte program bu noktada kesiliyor, oysa gerçek hayatta bu noktada ziyaretçiye bilgi girme aracının yeniden sunulması gerekir. )

Şimdi fonksiyona dönebiliriz. dogruMu( ) fonksiyonu, kendisine görev verecek işlemden veya fonksiyondan mutlaka bir argüman verilmesini istiyor. numara adıyla işleme sokulacak olan bu argüman, fonksiyon için bir nesnedir. Bu arada fonksiyonumuz kendi işleri için bir değişken oluşturuyor (karakter ), ve içine boş değer koyuyor (null ); daha sonra kendisinden beklenen değeri içine koyacağı bir değişken oluşturuyor ve içine varsayılan değer olarak true kelimesini koyuyor. Aksi kanıtlanmadığı taktirde, fonksiyonu göreve çağıran if döngüsüne bu değer bildirilecektir.

Fakat önce fonksiyonun gerçekten kendisine verilen bilgilerin, arzu edilen biçime uygun olup olmadığını sınaması gerekir. Bu bilgiyi tutan numara nesnesi, nesne olduğu için bazı özelliklere sahiptir; bu özelliklerden biri de uzunluğudur. Önce bu uzunluğun 13 karakter olup olmadığına bakıyoruz. Ziyaretçi, telefon numarasını yazdığı halde parantezleri veya kesme çizgisini unuttuysa, verdiği bilgilerin uzunluğu 13 karakterden az olacaktır, yani numara.length 13 olmayacak, durum değişkenin değeri false olarak değiştirilecektir. Yok, numaranın karakter sayısı 13 ise, fonksiyonumuz 13 karakteri, bir for döngüsü çerçevesinde tek tek irdelemeye başlayacaktır.
 
Yukarı Alt