Javascript Ders #2
By husmen73 on Tem 19, 2008 in Javascript
KOŞUL YAPILARI
Bu dersimizde Javascript”in en önemli özelliklerinden birine değineceğiz. Aslında bu konu sadece Javascript”in değil bilgisayarın da en önemli konusudur. Bilgisayarı bilgisayar yapan konu budur. Çünkü hiçbir bilgisayar kendi kafasına göre yorum yapamaz. Bizim verdiğimiz belli kıstasları göz önünde bulundurarak seçim yapar o kadar. Şimdi konunun inceliklerine bir göz atalım.
If (Eğer)
Javascript”te çoğu dilde olduğu gibi koşul yapısının kodu If (eğer) komutudur. Yazılım şekli ise şu şöyledir.
If (a==b)
//kosul dogru ise ilk satir isleme konulur
//kosul dogru degilse ilk satirin altindaki komut satiri isleme konulur.
Şimdi kodumuzu inceleyelim :
Koşul komutu yani if ile işleme başlıyoruz. Daha sonra karşılaştırılacak değişkenler veya başka nesneler parantez içerisinde sorgulanıyor. Dikkat ederseniz çift eşittir kullandık. Çünkü tek eşittir işareti değer atama işlemidir. Çift değişken ile koşul yapısı sağlanır. Eğer koşul doğruysa hemen altındaki satır işleme konulur. Eğer koşul yanlış ise ikinci satır işleme konulur. Yok ben koşul doğru ise 2 ve daha çok işlem yaptırmak istiyorsanız bunun cevabı yapılması istenen işlemlerin { } arasında yer almasıdır. Yani:
If (a==b)
{
// 1. islem
// 2. islem
…
…
}
Hatırlarsanız If koşul ifadesini 2. dersimizde tarayıcı yönlendirirken kullandık.
If .. Else (Eğer … Değilse)
Bu bölümde ise If koşul ifademize Else komutunu ekleyerek koşul yapımızı güçlendiriyoruz. Şimdi bu ne demek. Hemen bir örnekle açıklayalım.
If ( a==b )
{
// sunlari sunlari yap
}
else
{
//degilse sunlari yap
}
Yani örnekten de anlaşıldığı gibi if koşulu ile a ile b nin eşitliği karşılaştırılıyor. Eğer doğruysa hemen altındaki kısım işleme konuluyor. Else ile yok değilse altındaki kısmı işleme koy diyoruz. Şimdi diyeceksiniz ki bir öncekinden ne farkı var. Bu haliyle hiçbir farkı yok. Fakat şu örneğe bir bakalım.
If (a==b)
{
// sunlari sunlari yap
}
if (a==c)
{
// sunlari sunlari yap
}
else
{
// sunlari sunlari yap
}
Şimdi bu kodda Javascript”e ne yapmasını söyledik. a değişkeni b değişkenine eşitse normal olarak alt satırı işleme koy. Eğer bu karşılaştırma yanlış ise altındaki işlemleri geçerek a”nın c”ye eşitliği kontrol edilecek. Bu da değilse (else) alt satırdaki işlemleri devreye koy.
Else yapısı genel olarak bir karşılaştırma sonucunda cevap yanlış ise diğer bütün durumlarda şu işi yap manasında kullanılır.
Dersi tam bir Javascript örneği ile bitirelim:
<html>
<head>
<title>Kosul yapilari</title>
</head>
<body>
<script language=”JavaScript”>
<!– //eski surum tarayicilardan kodumuzu saklayalim
var gun = prompt (“Bugun gunlerden ne ?” ,”lutfen kucuk harf kullaniniz”);
if (gun==”pazar”)
{
document.write (“Bugun gunlerden ” , gun , ” olduguna gore hafta sonundayiz” ,”<br>”)
document.write (“<b>” , “Iyi tatiller..” , “</b>”)
}
else
{
document.write (“Bugun gunlerden pazar olmadigina gore tatil gununde degiliz !” ,”<br>”)
document.write (“Iyi çalismalar..”)
}
//saklamayi bitir–>
</script>
</body>
</html>
DÖNGÜ YAPISI
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 ( degisken_baslangic_deðerler1 , degisken_baslangic_deðerler2 ; dongu sayisi ; degisecek_degisken_adi_ve_turu )
{ yapilmasi istenen islemler }
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++)
{ yapilmasi istenen islemler }
for ifadesi için kısa yazılım :
var a,b=0;
for (;c<=3;c++)
{ yapilmasi istenen islemler }
Ş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 dongusu</title>
</head>
<body>
<script language=”JavaScript”>
<!– //eski surum tarayicilardan kodumuzu saklayalim
var cevap=0;
for ( sayi=0 ; sayi<=10 ; sayi++)
{
sayi–;
var cevap = 5 * sayi ;
document.write( “5 * ” , sayi , ” =” , cevap ,”<br>”)
}
//saklamayi 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.
Ş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ğru değilse yapılacak işlemler }
şart doğru değilse yapılacak işlemler
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 (“Kac tane kitap almak istiyorsunuz ?” , “lutfen rakam giriniz”);
var cdistek= prompt (“Kac tane cd almak istiyorsunuz ?” , “lutfen rakam giriniz”);
var kasetistek= prompt (“Kac tane kaset almak istiyorsunuz ?” , “lutfen 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 siparisiniz alinmistir “, “<br>”);
document.write (“<br>” , “Aldiginiz urunlerin toplam tutari = ” ,toplamtutar);
var istek =prompt(“Baska urunler de satin almak istiyor musunuz ?”, “e veya h giriniz”); }
while (istek=”e”)
document.write (“<br>” ,”Bizden alisveris yaptiginiz için tesekkurler”)
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 ()
{islem1; islem2; 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 ()
{islem1; islem2; 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.
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 (“cikmak istiyor musunuz ” ,”Evet icin E veya e , Hayir icin H veya h giriniz”)
switch (sec)
{ case “e” : case “E” :
document.write (“Tekrar hosgeldiniz”)
//yapilmasý istenen islemler
case “h”: case “H” :
document.write (“Bizi tercih ettiginiz icin tesekkurler”)
break














Yorum gönder