Javascriptte Döngüler

For, while, do-while, break, continue, for-in

For

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 }

 

 For-in

Nesne işlemlerinde yaygın olarak kullanılan yapılardan birisi For..in dir.

For...in Yapısı:

For-in yapısı nesne işlemlerinin bir döngü içinde yapılmasını sağlar.

Yapısı:


for (değişken in nesne)
{ deyimler; }



Örneğin araba adlı bir nesnenin renk, fiyat, motor, silindir, model gibi çok sayıda değişik özellikleri şu şekilde listelenebilir:

Örnek:
 


var kayit= "araba

for (var ozellik in araba)
{kayit+= ozellik+ " = " + araba[ozellik] + "<br>"}
kayit+= "

document.write(kayit)


while

Bu döngü yine bir bloğu defalarca kullanmak amacıyla kullanılır.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

Örneğin

 

var toplam=1;

while( toplam < 100 )

        {

        document.write(toplam+"<br>");

        toplam=toplam + 10;

        }

document.write("Döngü sona erdi<br>")

 

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")

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 continue ifadesi ile döngünün devamı sürdürülür.

var x=0;var y=1;var z=6;
do{
y++;
x+=y;
if(x>=z) {break; } // while deki koşula bakılmaksızın döngü sonuna gider.
if(y<=3) {continue;}// y<=3 olduğu sürece döngü bir sonraki çevrime girer.
}while(x<10); // x<10 olduğu sürece çevrime devam et.
document.write("x=",x ,"y=",y ,"z=",z);

Ö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.



 İlker Beğenmiş

 

Yorumunuzu Ekleyin


Yükleniyor...
Yükleniyor...