Javascript döngüler

Bir dahaki uzun ders 2 ayrı konudamı olsun ?

  • Hayır

    Oy: 0 0,0%

  • Kullanılan toplam oy
    1

XenonTheSatisfied

Odunlara Vur Vur Vur!
Katılım
24 Nisan 2020
Mesajlar
37
Elmaslar
41
Puan
6.320

Discord:

Xenon#8687

Selamlar herkese,
Bu dersimizde konumuz Javascript'te döngüleri işleyeceğiz.
Dersleri elimden geldiğince eğlenceli hale getirmeye çalışıyorum,
Umarım bu hoşunuza gidiyordur.?
Döngüler bir işin tekrar tekrar tekrarlanmasını sağlar ve kodu daha okunur + daha hızlı çalışacak hale getirir.
Mesela aşağıda 2 örnek vardır 2 örnekte ne kadar uğraşıldığına bakalım.
Döngüsüz:

JavaScript:
var array = ["x", "y", "z", "a", "s", "d", "f"];
console.log(array[0]);
console.log(array[1]);
console.log(array[2]);
console.log(array[3]);
console.log(array[4]);
console.log(array[5]);
console.log(array[6]);
Hâlen işlemedik fakat bir örnek göstereyim:
JavaScript:
var array = ["x", "y", "z", "a", "s", "d", "f"];
for(var i = 0;i<array.length;i++) {console.log(array[i]);} // length olayını birdahaki dersimizin konusu olan array fonksiyonları ve metodlarında göreceğiz.
Evet, görüldüğü üzere 2. yöntem açık ara daha az yoracaktır bizi.
Ayrıca döngüleri kullanmanız için bir sebep daha söyleyeyim.
Düşününce kullanıcıdan alacağımız verinin büyüklüğünü bilemeyiz.
Bu yüzden döngüleri kullanmamız gerekir.
Bir örnek vereyim bot geliştiricileri için:
Mesela sunucudaki herkesin ismini "OwO" yapmak istiyorsunuz.
Peki, güzel güzel kodunuzu yazıyorsunuz fakat bir şey kafanızı kurcalıyor.
Kaç kişinin olduğunu saymam mı gerek ?
veya
her kullanıcı için tek tek fonksiyon mu kullanmam gerek ?
Evet işte burada işe döngüler giriyor.
Ilk olarak for döngüsünü işleyek başlayalım.

For Döngüsü
For döngüsü daha çok index'i amaçlar.
Nedir bu index ?
Index, array'de her elemanın sırasıdır.
Normalde bu birdahaki dersin konularından biriydi fakat iki dersteki konu birbirini gerektirdiğinden dolayı Döngüleri anlatmayı karar kıldım.
Bir dahaki dersimiz biraz uzayabilir, sizleri sıkmamak için 2 bölüm yapmayı planlıyorum.
Anketten oylama yapabilirsiniz daha doğrusu oylamaya göre olacak.
Neyse fazla uzattım bir bakalım bu for döngüsü ne imiş.
For döngüsü, belirtilen koşulun sonucu false olana kadar devam eden döngüdür.
For döngüsü içine 3 tane metot alır.
Her metodun arasına ; koyulur.
Bu metodlar sırasıyla şu şekildedir:

  • Metot 1: Isteğe bağlıdır. Kod bloğu başlamadan önce sadece 1 kez çalıştırılır. Genelde indexi tanımlamak için kullanılır.Fakat bazı durumlarda index önceden tanımlanıp bu metot boş bırakılabilir.
  • Metot 2: Isteğe bağlıdır. Hiçbir şey yazılmaz ise otomatik olarak her döngü sonu true olarak alır ve sonsuz bir döngü oluşur.
  • Metot 3: Isteğe bağlıdır. Her döngü bitişinde 1 defa çalıştırılır. Genellikle index'i arttırmak için kullanılır.
Hadi şimdi bazı örneklere bakalım.
Örnek Bir:

JavaScript:
var bilgiler=[{kullanici:"EmirhanTemur",id:1},{kullanici:"ByRegular",id:2},{kullanici:"YigitReisOfficial",id:3},{kullanici:"acar",id:4},{kullanici:"Aronshire",id:5},{kullanici:"xChairs",id:6},{kullanici:"XenonTheSatisfied",id:7}];
for(var index = 0;index < bilgiler.length; index++) {
    console.log(bilgiler[index].kullanici);
}
/*
Sonuç:
EmirhanTemur
ByRegular
YigitReisOfficial
acar
Aronshire
xChairs
XenonTheSatisfied
*/
Aslında bakılırsa yukarıdaki örnekte farklı bir fonksiyon kullanılabilir. Fakat burada konumuz Döngüler olduğundan dolayı orayla alakamız yok.
Başka Bir Örnek:

Kod:
var arr = [true,false,false,true,true,true,false,false,false,false];
var i = 0;
for(;i<arr.length;) {
    if(arr[i] == true) console.log(i);
    i++;
}
/*
Sonuç:
0
3
4
5
*/

While Döngüsü
While döngüsü, koşul true döndüğü sürece çalışır.
For döngüsünden farkı tanımlamaların vs. önceden yapılması gerektiğidir.
While döngüsü sadece 1 metot içerir.
Bu metoda sonucu true veya sonradan false dönecek bir koşul atanması gerekir.
Bir Örnek:

JavaScript:
var bilgiler=[{kullanici:"EmirhanTemur",id:1},{kullanici:"ByRegular",id:2},{kullanici:"YigitReisOfficial",id:3},{kullanici:"acar",id:4},{kullanici:"Aronshire",id:5},{kullanici:"xChairs",id:6},{kullanici:"XenonTheSatisfied",id:7}];
var i = 0;
while(i<bilgiler.length) {
    console.log(bilgiler[i].kullanici);
    i++;
}
Başka bir örnek:
JavaScript:
while(true) {
    console.log("Dikkat! bu sınırsız bir döngüdür bunu kendiniz çalıştırmayınız");
}
/*
Sonuç:
Dikkat! bu sınırsız bir döngüdür bunu kendiniz çalıştırmayınız
*/
Do-While Döngüsü
Do-While Döngüsünde kod blokları koşuldan önce çalışır.
Peki, bu ne demek ?
Yani koşul kontrol edilmeden kod bloğu çalıştırılır.
Daha sonra kod bloğu çalıştırılır.

Bazı durumlar hariç Do-While döngüsünün diğer döngülere oranla pek bir işlevinin olduğunu söyleyemem.
Döngünün syntax'ı (sözdizimi) aşağıdaki gibidir:

JavaScript:
do {
    // kosul dogru oldugu surece tekrarlanacak fonksiyonlar/metotlar.
}while(kosul)
Hadi bazı örneklere göz atalım.
Bir örnek:

JavaScript:
var x = 0;
var kosul = x < 10;
do {
    console.log(x+". mesaj.");
}while(kosul)

Label
Label'lar döngüyü işaretlemek için kullanılır.
Daha sonra işaretlenmiş ifade kırılır (durdurulur) veya devam ettirilir.
Label kullanmanın birçok yararı vardır mesela döngü çalıştırılırken sistemde güvenlik sorunu oluşursa döngü durur vs.
Sözdiziminde biraz python diline yakınlık gösterir.
Önce işaretlenecek döngünün işaretlenme adı belirtilir.
Daha sonra ise : koyulup döngü yazılır.

Break ifadesi
Break ifadesi döngüyü kırmak için kullanılır.
Break ifadesi daha çok olmaması gerekn bir durumda döngüyü kırmak (durdurmak) için kullanılır.
Hadi bazı örneklere göz atalım.
Bir Örnek:

Kod:
kirilacak: for(var x = 0;x<10;x++) {
    if(x === 8) {
        break kirilacak;
    }else {
        console.log(x);
    }
}
/*
Sonuç:
1
2
3
4
5
6
7
*/
Continue ifadesi
Continue ifadesi döngünün herhangi bir tekrarında o tekrarı atlamak için kullanılır.
Break ifadesinden farkı break bir kere döngüyü kırınca döngü tekrar başlamaz fakat continue ifadesinde kullanılan tekrar atlanır.
Hadi bazı örneklere bakalım.

JavaScript:
dongucuk: for(var x = 0;x<5) {
    if(x === 3) {
        continue dongucuk;
    }else {
        console.log(x);
    }
}
/*
Sonuç:
1
2
4
5
*/
For... In ifadesi
For... In ifadesi veri grubu olmayan (Object vs.) verileri döngülemek için kullanılır.
For... In ifadesi aşağıdaki gibi kullanılır.

Kod:
var obj = {};
for(var se in obj) {
    console.log(se);
}
Hadi bazı örneklere göz atalım.
Bir Örnek:

JavaScript:
var arr = [{kullanici:'Xenon',mesaj:'Selam!'}, {kullanici:'Unknown user', mesaj:'Sanada Selam!'}];

for(var i = 0;i<arr.length;i++) {
    var element = arr[i];
    for(var p in element) {
        console.log("Obje verisi: "+ p + ", Veri: "+ arr[i][p]);
    }
}
/*
Sonuç:
Obje verisi: kullanici, Veri: Xenon
Obje verisi: mesaj, Veri: Selam!
Obje verisi: kullanici, Veri: Unknown user
Obje verisi: mesaj, Veri: Sanada Selam!
*/
For... Of ifadesi
For... Of ifadesi veri gruplarını döngülemek için kullanılır.
Diğer dillerdeki forEach döngüsüne benzerdir.
Syntax'ı (sözdimi) For... In'a benzerdir.
Hadi bazı örneklere bakalım.
Bir Örnek:

JavaScript:
var arr = ["Xenon", "Mustafa", "Adnan"];

for(var p of arr) {
    console.log(p)
}

/*
Sonuç:
Xenon
Mustafa
Adnan
*/
Sanırım bu konu bu kadardı!
Kendinize iyi bakın,
Sağlıcakla kalın!
 
xChairs'in adı geçtiği için harika <3 @xChairs
 
Sizinde hatırlamış olduğunuz gibi 1-2 haftadan beri şu Java işine heves ettim ve gerçekten bu konuyla beraber çok ciddi ilerlemeler kaydettiğimi söyleyebilirim. Hatta bazı kısımları unutup tekrar yapabilmek için eski konularınıza girip tekrar yapıyorum. ( Bu arada 2 ayrı konu halinde gelsin. )
 
Mühtişim <3
 
xChairs'in adı geçtiği için harika <3 @xChairs
Sizinde hatırlamış olduğunuz gibi 1-2 haftadan beri şu Java işine heves ettim ve gerçekten bu konuyla beraber çok ciddi ilerlemeler kaydettiğimi söyleyebilirim. Hatta bazı kısımları unutup tekrar yapabilmek için eski konularınıza girip tekrar yapıyorum. ( Bu arada 2 ayrı konu halinde gelsin. )
Yorumlarınız için çok teşekkür ederim. Bu yorumlar beni gerçekten çok motive ediyor. ?
 
Sizinde hatırlamış olduğunuz gibi 1-2 haftadan beri şu Java işine heves ettim ve gerçekten bu konuyla beraber çok ciddi ilerlemeler kaydettiğimi söyleyebilirim. Hatta bazı kısımları unutup tekrar yapabilmek için eski konularınıza girip tekrar yapıyorum. ( Bu arada 2 ayrı konu halinde gelsin. )
karşim bari başlığı okusaydın?
Bu java değil, javascript ve apayrı şeyler
 

Hala Discord sunucumuza katılmadın mı?

Büyük bir topluluğun parçası ol, etkinliklere katıl ve özel hediyeler kazanma şansı yakala!

Şimdi Katıl
Üst