Javascript'te diğer programlama dillerinde
olduğu gibi istediğiniz işlemi 2 veya daha fazla kez yaptırmak
için belli program kodları mevcuttur. Bu diğer dillere çok benzer
olan for döngü komutudur. Bu komutun yaptığı işlem , istenilen
fonksiyon veya fonksiyon parçalarını istenilen değerde tekrar
etmektir. Şimdi ayrıntılara geçelim.
for ( değişken_başlangıç_değerler1 , değişken_başlangıç_değeri2 ;
döngü sayısı ; değişecek_değişken_adı_ve_türü )
{ yapılması istenen işlemler }
Burada parantezler içerisinde verilen
değişken_başlangıç_değerler kısmı ve
değişecek_değişken_adı_ve_türü kısmını yazmanız gerekmez. Döngü
içerisinde kullanılan değişken daha sonra da istenilen şekilde
arttırılabilir veya azaltılabilir. Yapı gözünüzü korkutmasın hemen
bir örnekle daha iyi anlayalım.
for (a=0 , b=0 ; c<=3 ; c++)
{ yapılması istenen işlemler }
for ifadesi için kısa yazılım :
var a,b=0;
for (;c<=3;c++)
{ yapılması istenen işlemler }
Şimdi bunu tam bir örnekle daha da
pekiştirelim.
Varsalım ki elimizde bir çarpım tablosu
yapmak istiyoruz. Buna göre 5 sayısı için 1'den 10'a kadar
sayıları bir tablo içerisinde vereceğiz. Şimdi bu durumda for
döngüsüz 10 adet tablo yazmamız gerekecekti fakat biz for döngüsü
ile işlemi 1 satıra indirgeyeceğiz.
<html>
<head>
<title>for döngüsü</title>
</head>
<body>
<script language="JavaScript">
<!-- //eski sürüm tarayıcılardan kodumuzu saklayalım
var cevap=0;
for ( sayi=0 ; sayi<=10 ; sayi++)
{
sayi--;
var cevap = 5 * sayi ;
document.write( "5 * " , sayi , " =" , cevap ,"<br>")
}
//saklamayı bitir-->
</script>
</body>
</html>
Burada gördüğünüz gibi işlem tek bir satıra
ingirdendi.
Şimdi de for döngüsünün yapmak istediğimiz
işlemlerde yetersiz kaldığı durumlarda kullanabileceğimiz yapıları
görelim.
5.2 Şartlı döngü yapısı while
Javascript kodu yazarken -programda bir
önceki örnekte olduğu gibi- sayaç değişkeninin her değeri için
istediğiniz işlemi yapmasını istemeyebilirsiniz. Bunun için while
komutunu kullanırsınız ki bu Javascript'e "İstediğim işi şu şart
sağlanıyorsa yap !" demiş olursunuz.
While döngüsünde for döngüsünden farklı
olarak döngü içerisindeki değişkenlerin tanımlanması gerekir.
Şimdi yazım kurallarına bir göz atalım.
while ( döngü şartı )
{ şart doğruysa yapılacak işlemler}
şart doğru değilse yapılacak işlemler
5.3 Do .. while yapısı
Do ... while yapısı genel olarak bir
döngünün yapısını eğer şart doğruysa tekrar et manasındadır. Yani
do ile başlangıçta hiçbir koşul olmadan işlem yapılır. Daha sonra
while şartı doğru ise tekrar do yapısında geri dönülür. Bunu bir
örnek ile açıklamak gerekirse;
Örneğin bir ticari siteniz var. İnsanlar
sizden gelip istedikleri ürünleri satın alıyorlar. Bir ürün için
siparişlerini verdiler ve bizde bunun karşılığı olarak ücret +
kargo + kdv miktarını hesapladık ve müşterimize dedik ki
istediğiniz ürün şu fiyata şu gün elinizde olur. Bu hesaplamaların
hepsini do yapısı ile yap dedik. Ve sonra sorduk daha başka
ürünlerde almak istiyor musunuz ? İşte bu da while yapısı ile
sorulur. Şayet cevap evet ise do yapısı tekrarlanır değilse do
döngü yapısında çıkılır.
Bu tür bir örnek yapalım;
Bizim kitap, cd ve kaset sattığımız
varsayalım. Bizden de 2 kitap ve 3 cd aldığını varsayarsak;
var kitap=2000000; var cd=3000000; var kaset=1500000;
do {
var kitapistek =prompt ("Kaç tane kitap almak istiyorsunuz ?" ,
"lütfen rakam giriniz");
var cdistek= prompt ("Kaç tane cd almak istiyorsunuz ?" , "lütfen
rakam giriniz");
var kasetistek= prompt ("Kaç tane kaset almak istiyorsunuz ?" , "lütfen
rakam giriniz");
var kitaptutar=kitapistek*2000000;
var cdtutar=cdistek*3000000;
var kasettutar=kasetistek*1500000;
var toplamtutar = kitaptutar+cdtutar+kasettutar;
document.write (kitapistek ," tane kitap ", cdistek ," tane cd " ,
kasetistek , " tane kaset
siparişiniz alınmıştır ", "<br>");
document.write ("<br>" , "Aldığınız ürünlerin toplam
tutarı = " ,toplamtutar);
var istek =prompt("Başka ürünlerde satın almak istiyor musunuz ?", "e
veya h giriniz"); }
while (istek="e")
document.write ("<br>" ,"Bizden alışveriş yaptığınız
için teşekkürler")
5.4 Break ve Continue İfadeleri
While komutu ile şartı belirledikten sonra
yapılan işlemin kesilmesi veya devam etmesi otomatik hale
gelmektedir. For döngüsü içerisinde de bu tür bir olayı break ve
contine ifadeleri ile gerçekleştiririz.
Javascript break ifadesini gördüğü anda
döngü işlemini keser ve bir sonraki komut satırını işleme koyar.
Continue ifadesinde ise döngü break ifadesindeki gibi kesilir
fakat işleme konulan satır bir sonraki satır değildir. Continue'de
döngü başına dönülür.
Bir örnek verelim;
for ()
{işlem1; işlem2; break; }
Burada işlem2 ile verilen kısımda örnek
olarak bir sorgu yapılabilir. Sorgu doğru ise break ifadesine
gelinir ve burada döngü kesilir.
for ()
{ işlem1; işlem2; continue;}
Burada yine işlem2 ile sorgu yapılırsa
contine ifadesi ile döngünün devamı sürdürülür.
Önemli: Break ve Continue ifadeleri
her komutu kesmek veya devam ettirmek için kullanılamaz. Mesela
bir if (Eğer) ifadesi şart doğru değilse break ile kes denilemez.
Sadece döngü içerisinde döngünün kesilmesi veya devam ettirilmesi
için kullanılabilir.
5.5 Switch-Case İfadesi
Bu ifade genel olarak menü kullanımında veya
sorgu işlemlerinde işe yarar. Swicht ile ifade alınır case ifadesi
ile işlemler sorgulanarak yapılır. Yazım kurallarına bir göz
atalım.
switch (parametreler)
{ case "ifade1" :
case "ifade2" :
... }
Bir örnek verelim. Burada web sayfamızdaki
herhangi bir işlemde çıkıp çıkmak isteyip istemediği soruluyor.
Cevap evet ise işlem istenilen yönde yönlendiriliyor. Cevap hayır
ise döngüden çıkılmaktadır. Burada kendimizi ziyaretçinin
klavyesinde Caps Lock tuşuna basılı olup olmadığını önemsemiyoruz.
Çünkü koşul ifademizi hem küçük harf hem de büyük harfe göre
yazıyoruz.
var sec;
sec = prompt ("Çıkmak istiyor musunuz " ,"Evet için E
veya e , Hayır için H veya h giriniz")
switch (sec)
{ case "e" : case "E" :
document.write ("Tekrar hoşgeldiniz")
//yapılması istenen işlemler
case "h": case "H" :
document.write ("Bizi tercih ettiğiniz çin teşekkürler")
break //Çıkılması istendiği için döngüyü kesmek için break komutunu kullanıyoruz.
|