JavaScript - Döngü Kontrolü

JavaScript, döngüleri işlemek ve ifadeleri değiştirmek için tam kontrol sağlar. Bir döngüden dibine ulaşmadan çıkmanız gereken bir durum olabilir. Kod bloğunuzun bir bölümünü atlamak ve döngünün bir sonraki yinelemesini başlatmak istediğinizde de bir durum olabilir.

JavaScript, bu tür tüm durumların üstesinden gelmek için break ve continueifadeler. Bu ifadeler, herhangi bir döngüden hemen çıkmak veya sırasıyla herhangi bir döngünün bir sonraki yinelemesini başlatmak için kullanılır.

Break İfadesi

breakswitch deyimiyle kısaca tanıtılan deyimi, çevreleyen küme parantezlerini kaldırarak bir döngüden erken çıkmak için kullanılır.

Akış Şeması

Bir break ifadesinin akış şeması aşağıdaki gibi görünecektir -

Misal

Aşağıdaki örnek, bir breakwhile döngüsü ile ifade. Döngünün nasıl erken çıktığına dikkat edinx 5'e ulaşır ve ulaşır document.write (..) ifadenin hemen altındaki kapanış küme ayracı -

<html>
   <body>     
      <script type = "text/javascript">
         <!--
         var x = 1;
         document.write("Entering the loop<br /> ");
         
         while (x < 20) {
            if (x == 5) {
               break;   // breaks out of loop completely
            }
            x = x + 1;
            document.write( x + "<br />");
         }         
         document.write("Exiting the loop!<br /> ");
         //-->
      </script>
      
      <p>Set the variable to different value and then try...</p>
   </body>
</html>

Çıktı

Entering the loop
2
3
4
5
Exiting the loop!
Set the variable to different value and then try...

Zaten kullanımını gördük break içindeki ifade a switch Beyan.

Devam Bildirimi

continuedeyimi yorumlayıcıya döngünün bir sonraki yinelemesini hemen başlatmasını ve kalan kod bloğunu atlamasını söyler. Zamancontinue ifadesiyle karşılaşıldığında, program akışı hemen döngü denetimi ifadesine geçer ve koşul doğru kalırsa, sonraki yinelemeyi başlatır, aksi takdirde denetim döngüden çıkar.

Misal

Bu örnek, bir continuewhile döngüsü ile ifade. Nasıl olduğuna dikkat edincontinue deyimi, indeks değişken içinde tutulduğunda yazdırmayı atlamak için kullanılır x ulaşır 5 -

<html>
   <body>      
      <script type = "text/javascript">
         <!--
            var x = 1;
            document.write("Entering the loop<br /> ");
         
            while (x < 10) {
               x = x + 1;
               
               if (x == 5) {
                  continue;   // skip rest of the loop body
               }
               document.write( x + "<br />");
            }         
            document.write("Exiting the loop!<br /> ");
         //-->
      </script>      
      <p>Set the variable to different value and then try...</p>
   </body>
</html>

Çıktı

Entering the loop
2
3
4
6
7
8
9
10
Exiting the loop!
Set the variable to different value and then try...

Akışı Kontrol Etmek İçin Etiketleri Kullanma

JavaScript 1.2'den başlayarak, bir etiket ile kullanılabilir break ve continueakışı daha kesin olarak kontrol etmek için. Birlabelbasitçe bir ifadeye veya bir kod bloğuna uygulanan iki nokta üst üste (:) tarafından izlenen bir tanımlayıcıdır. Ara ve devam eden etiketlerin nasıl kullanılacağını anlamak için iki farklı örnek göreceğiz.

Note - arasında satır sonlarına izin verilmez. ‘continue’ veya ‘break’ifadesi ve etiket adı. Ayrıca, bir etiket adı ile ilişkili döngü arasında başka herhangi bir ifade olmamalıdır.

Etiketleri daha iyi anlamak için aşağıdaki iki örneği deneyin.

örnek 1

Aşağıdaki örnek, Label'ın bir break ifadesiyle nasıl uygulanacağını gösterir.

<html>
   <body>      
      <script type = "text/javascript">
         <!--
            document.write("Entering the loop!<br /> ");
            outerloop:        // This is the label name         
            for (var i = 0; i < 5; i++) {
               document.write("Outerloop: " + i + "<br />");
               innerloop:
               for (var j = 0; j < 5; j++) {
                  if (j > 3 ) break ;           // Quit the innermost loop
                  if (i == 2) break innerloop;  // Do the same thing
                  if (i == 4) break outerloop;  // Quit the outer loop
                  document.write("Innerloop: " + j + " <br />");
               }
            }        
            document.write("Exiting the loop!<br /> ");
         //-->
      </script>      
   </body>
</html>

Çıktı

Entering the loop!
Outerloop: 0
Innerloop: 0 
Innerloop: 1 
Innerloop: 2 
Innerloop: 3 
Outerloop: 1
Innerloop: 0 
Innerloop: 1 
Innerloop: 2 
Innerloop: 3 
Outerloop: 2
Outerloop: 3
Innerloop: 0 
Innerloop: 1 
Innerloop: 2 
Innerloop: 3 
Outerloop: 4
Exiting the loop!

Örnek 2

<html>
   <body>
   
      <script type = "text/javascript">
         <!--
         document.write("Entering the loop!<br /> ");
         outerloop:     // This is the label name
         
         for (var i = 0; i < 3; i++) {
            document.write("Outerloop: " + i + "<br />");
            for (var j = 0; j < 5; j++) {
               if (j == 3) {
                  continue outerloop;
               }
               document.write("Innerloop: " + j + "<br />");
            }
         }
         
         document.write("Exiting the loop!<br /> ");
         //-->
      </script>
      
   </body>
</html>

Çıktı

Entering the loop!
Outerloop: 0
Innerloop: 0
Innerloop: 1
Innerloop: 2
Outerloop: 1
Innerloop: 0
Innerloop: 1
Innerloop: 2
Outerloop: 2
Innerloop: 0
Innerloop: 1
Innerloop: 2
Exiting the loop!