JavaScript'teki akış kontrol yapılarının türleri

İçindekiler

Bugün, basit kontrol yapıları veya özellikle yinelemeli yapılar olarak da adlandırılan akış kontrol yapılarını göreceğiz. Bu talimatlar çok ilginçtir ve kavramı programdan akıllı programa dönüştürdüklerinde kullanılır.

Niye ya?

Akış kontrol yapılarını kullanmazsak, bir program basittir. Başlangıçta yalnızca doğrusal zamanda, yani birbiri ardına bir talimat dizisi diyebileceğimiz şekilde değişkenleri ve operatörleri kullanan bir programdır.
Aşağıda göreceğimiz yapıları tanıtarak, programımız, işlediği değişkenlerin değerine bağlı olarak karar verebilen bir program olmak için verimsiz talimatların sadece doğrusal bir dizisi olmaktan çıkar, dolayısıyla bunlara "akıllı" denir. .

NS yinelemeli yapılar yerine getirilmesi gereken talimatlar nedeniyle bu şekilde adlandırılırlar. bir veya birçok kez tekrarlanabilir. Özellikleriyle birlikte çok çeşitli yinelemeli yapı türleri vardır, ancak hepsinin ortak bir yanı vardır, tek bir giriş noktaları vardır, yani bir veri girerken etkinleştirilirler.

Şimdi göreceğiz JavaScript'te farklı yinelemeli yapı türleriGerçekte tüm veya hemen hemen tüm programlama dillerinde temelde aynı yapılar olmasına ve aynı amaçlara hizmet etmesine rağmen, fark onların yazılma şekli, yani sözdizimidir.

Belki de en basit ve aynı zamanda en çok kullanılan yinelemeli yapı ile başlayacağız. yapı demek istedik Eğer.

EĞER yapısıBilginin girilmesinden bu yana en basiti diyorum ve bunu doğruladıktan sonra programımızın yaptığı şey, önceden belirlenmiş koşul sağlanırsa, kodda önceden tanımladığınız cümleyi veya cümleleri yürütüyoruz. Öte yandan, bu koşul yerine getirilmezse yapıyı terk eder ve kendisine eşlik eden kodu çalıştırmaz.

Javascript kodlu bir örnek aşağıdaki gibidir:

 If (x) {alert ("Değer doğru"); } 
Kadar basit. Söylediğimiz tek şey, girdiğimiz değişken (x) true ise "Değer true" yazın ve doğru değilse hiçbir şey yazmayın. If (x == true) ile de ifade edilebilir. her iki değeri de = ile karşılaştıran == operatörünü karıştırmamak çok önemlidir. Yaptığı şey, soldaki değeri sağdaki değeri atamaktır.

Bu yapı kendi başına her türlü bilgi girişini çok tekrarlayan bir şekilde doğrulamak için kullanılır, ancak genellikle buna başka bir yapı eşlik eder. Başka.
Else, if'nin tamamlayıcısı olarak kullanılır, çünkü if ile oluşturulan koşul karşılanmaz ve else ile devam ederse, aşağıdaki örnekte görüldüğü gibi söz konusu kontrol yapısı ile ilişkili deyim veya deyimler otomatik olarak yürütülür:

 If (x) {alert ("Değer doğru"); } else {alert ("Değer yanlış"); } 
Önceki örnekte olduğu gibi, girilen veri x doğruysa, "Değer doğru" yazın. Önceki örnekten farkı, eğer x doğru değilse hiçbir şey yapmazsa, şimdi else'e giderken doğrudan "Değer yanlış" yazıyor.
Bilgiler yalnızca doğru veya yanlış, siyah veya beyaz, evet veya hayır veya herhangi bir ikili kombinasyon veya biri veya diğeri olabilirse bu çok kullanışlıdır. Ancak, genellikle girdiğimiz verilerin birkaç tanesinden herhangi birini karşılayıp karşılamadığını bilmek istediğimiz bir durum vardır. ayrıcalıklı koşullarÖrneğin, oyuncumuzun defans mı, orta saha mı, kaleci mi yoksa forvet mi olduğunu bilmek istiyorsak. Her zaman dört şeyden sadece biri olacak ve burada if ve else bizim için çalışmıyor.
Bu durumda şu komutu kullanabiliriz: başka eğer yapı değilse ne demek. Aşağıdaki kodda görebileceğimiz gibi, her zaman ilk if yapımızdan sonra ve sonuncudan önce, bu else olacaksa, her zaman istersek diğerlerini kullanabiliriz:
 If (oyuncu == kaleci) {alert ("Oyuncu kalecidir"); } else if (player == savunma) {alert ("Oyuncu savunmadır"); } else if (player == orta saha oyuncusu) {alert ("Oyuncu bir orta saha oyuncusudur"); } else {alert ("Oyuncu önde"); } 
Bu şekilde program önce kaleci olup olmadığını kontrol eder. Olursa yazar, yoksa ilk önce savunma olup olmadığını kontrol etmek için gider. Eğer öyleyse, onu yazın. Değilse, orta saha oyuncusu olup olmadığını kontrol etmek için bir sonraki bloğa gider. Eğer öyleyse, onu yazın. Eğer üç seçenekten biri değilse son bloğa girer, yaptığı şey atarak ileri gittiğini yazmaktır.

Kontroller çok tekrarlıysa, az önce gördüğümüz yapılar verimli olamazlar, bu durumda aşağıdakiler gibi diğer kontrol yapıları: süre veya süre için yapın:

Döngü sırasındaBu yapı, algoritmiklerde while (İngilizce'nin birebir çevirisi) olarak bilinen yapıdır. Ve kendi anlamının dediği gibi, talimatları yürüten bir döngüdür. süre koşul veya koşullar, bir değer olarak "true" döndürmeye devam ettiği sürece doğru kalır.
bu yüzden yapı söz konusu döngünün çok basit:
while (koşul)
{
Talimatlar;
}

A JavaScript'te basit bir örnek aşağıdakiler olabilir:

 var sayaç = 1; while (sayı <5) {alert ("sayı"); sayı + = 1; } 
Bu, 5'e ulaşana kadar num değişkenimize birer birer eklemek kadar basittir.
Döngüye girmeden önce koşul karşılanmazsa ne olur?

Döngünün asla çalışmayacağını. Ve burada while döngüsünün özel bir tipine geliyoruz. yaparken. Bu yapı, programın döngüye en az bir kez girmesini istiyorsak kullanılır. Kelimenin tam anlamıyla çevirisi do… en az bir kez yaptığı sürece döngüye girin.

Neden her zaman döngümüze en az bir kez giriyor?

Çünkü aşağıda göreceğimiz gibi, döngüyü çalıştırma koşulu, bunu yaptıktan sonra yapılır. Kulağa karmaşık gelebilir ama çok basit olduğunu göreceğiz:

 var gerçek = 1; var sayı = 10; do {gerçek = sayı * gerçek; sayı--; } while (sayı> 0); uyarı (sayı); 
Örnek olurdu.

Bu örnekte ne oluyor?

Bu önce döngüye girer ve sonucu sayıyla çarparak ve ardından sayıyı azaltarak iki talimat yapar. Bu işlem sayımız 1 olana kadar tekrar eder. Döngüden çıktıktan sonra başlangıçta 10 olan şimdi 1 olan sayıyı yazın.
Bu döngü daha sonra while ile tamamen aynı şekilde yazılabilir. Öte yandan, başlatmada ise var num = 0; döngüye giriyor, komutları yapıyor ve num -1 değeriyle kalıyor, bu döngüye girmeyeceği için while ile olmayacaktı ve bu şekilde bir kez yaptı.
Açıkçası bu çok az kullanılan çok basit bir örnek, ancak programlama yaparken bir menünün en az bir kez görüntülenmesini istiyorsak çok ilginç.

while ve do while döngüsünü gördükten sonra, bence programlamada en çok kullanılanı göreceğiz. Ünlü döngüden bahsediyoruz için.

YAPI İÇİNÖnceki yinelemeli yapılardan daha karmaşık olmasına rağmen, verimliliği için en çok kullanılan döngüdür.
Aşağıdaki forma sahiptir:

için (sırasıyla başlatma; Koşul; sırası Güncelleme)
{
Yürütmek için talimatlar
}

Ve onun operasyon çok basit:
Döngünün ilk bölümünde, bir veya daha fazla değişken başlatılır, yani onlara bir değer verilir. İlk noktalı virgülden sonra, talimatları yürütmek için yerine getirilmesi gereken koşul tanımlanır. Ve parantezin son kısmı olan güncelleme, başlatılmış olan değişkenlere atanacak olan değerdir.
Çok basit, belirtilen koşul karşılandığı sürece for döngüsü içindeki talimatlar yürütülür. Çalıştırdıktan sonra, koşulda kullanılan değişkenlerin değerini güncelleriz.
Şimdi yazılı bir örnek göreceğiz Javascript:

 for (i = 0; i <10; i ++) {alert ("Hala 10'dan küçük"); } 
i değişkenini 0 değeri ile oluşturduk ve başlattık. Döngünün bu kısmının sadece ilk seferde yürütüldüğünü, geri kalan zamanların sadece bir kez başlatıldığından bunu dikkate almadığını unutmamak önemlidir. . Koşul bölgemiz, i 10'dan küçük olduğu sürecedir ve bu nedenle döngümüz, i, 10'dan az olmayana kadar tekrar edecektir.
Şimdi yükseltme bölgesi devreye girdiğinde. i'nin değeri değiştirilmediyse, onu 0'a başlattığımız için sonsuz bir döngü haline gelirdi.
Güncelleme bölgemizde değişkenimizin değerini değiştiriyoruz. Örnekte, döngü her yürütüldüğünde, i'nin değeri 1 artar, ancak çarpma, çıkarma vb. gibi diğer komutlar da ayarlanabilir.

NS döngü için programlama dünyasında çok kullanışlıdır ve daha az yaygın olmasına rağmen, çağrılan özel bir durum vardır. Bu genellikle zaten oldukça gelişmiş nesnelerin programlanmasında kullanılsa da, dizilerde yapılabilecek kullanım ilginçtir.
Döngü için yaptığı şey, tüm öğelerinden verimli bir şekilde geçen bir diziden geçmek. Bir dizi tanımlayın, kod aşağıdaki gibidir:

 var dizi = ["Birinci", "İkinci", "Üçüncü", "Dördüncü"]; for (i dizileri) {alert ("Ders: dizi (i)"); } 
Mevcut tüm dersleri birinciden dördüncüye kadar yazar.

Son olarak, en çok kullanılan akış kontrol yapılarından biri olan, İngilizce seçim yapmak anlamına gelen switch loop'tan bahsedeceğiz.

ANAHTAR döngüsüBu yapıyı hemen hemen her zaman farklı seçenekleriyle bir menü yapmak istediğimizde kullanırız. Daha önce gördüğümüz ve çok daha iyi ve gereksiz olmadan çalışan else if döngülerinin tekrarının bir çeşit optimizasyonudur. Aynı değişkeni birden çok kez kontrol etmek istediğimiz, yani bir değişkene sahip olmayan bir değişkeni diğerine sahip olmaktan çıkaran bir özelliği seçmek istediğimiz zamanlar için kullanırız.

NS şekli değiştir sonraki:

 switch (harf) {case a: talimatlar; kırmak; durum b: talimatlar; kırmak; durum c: talimatlar; kırmak; durum d: talimatlar; kırmak; varsayılan: talimatlar; kırmak; } 
Önceki döngü, bu durumda harf olan bir değişkenden geçirilir. Bu değişkeni kontrol eder ve hangisine girdiğine bağlı olarak bir veya diğer talimatları uygular ve ardından döngüden çıkar. Harf değişkenimizin mevcut seçeneklerinin her birine girmek için ayrılmış kelime durumu kullanılır. Döngüden break anahtar sözcüğü kullanılarak çıkılır. programın akışını kesen veya değiştiren atlama talimatı, bu durumda döngüden erken çıkmaya zorlamak. Ancak bu kelimeyi girmek zorunlu değildir.

Bu şekilde programın akışını kesmemiş ve diğer seçenekleri kontrol etmemiş oluruz. (doğru olmayacağını bildiğimiz) bu yüzden daha az optimal olacaktır. Bunu not etmek çok önemlidir kontroller sırayla yapılırBu nedenle, en çok hangi seçeneğin veya seçeneklerin kullanılacağını biliyorsak, önce onları yerleştirmemiz daha iyi olur.
NS varsayılan değer kodda gördüğümüz, girilen değerin herhangi bir durumla eşleşmemesi durumunda kullanılandır. Bu durumda otomatik olarak varsayılana geçer. Ancak, kodumuza varsayılanı dahil etmek zorunlu değildir.

Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.
wave wave wave wave wave