صفحه اصلی » پایگاه دانش » javascript » مبانی جاوا اسکریپت » کنترل حلقه در جاوا اسکریپت

فهرست آموزش javascript

کنترل حلقه در جاوا اسکریپت

۱۳۹۸/۰۹/۱۲ ۱۰۳

دستورات کنترلی در جاوا اسکریپت وجود دارد که به شما اجازه می دهد اجرای حلقه های تکرار را کنترل کرده و قبل از اینکه شرط اجرای حلقه نقض شود تا حلقه پایان یابد، حلقه را پایان داده و یا مجددا اجرا کنید .

دستور break باعث می شود اجرا کدها یا دستورهای درون حلقه متوقف شود. با استفاده از این دستور می توان ادامه اجرای حلقه را متوقف کرده و کاملا از آن خارج شد.
دستور continueحلقه جاری را متوقف می کند و با مقدار بعدی، اجرای حلقه را از سرمی گیرد. در واقع این دستور اجرای دستورات فرایند تکرار حلقه ی جاری را متوقف ساخته و اجرای حلقه را دوباره با تکرار (iteration) بعدی ادامه می دهد.

دستور Break

دستور در هر جای حلقه تکرار که قرار بگیرد، از اجرای ادام حلقه صرفنظر شده و اجرای حلقه پایان می یابد.

به طور کلی دستور break چه در دستور Switch و چه در حلقه های تکرار for و while از اجرای ادامه بلوک کد صرف نظر کرده و کدهای بعد از آن اجرا خواهد شد.

فلوجارت:

 

مثال زیر استفاده از عبارت break را با یک حلقه زمانی نشان می دهد. توجه کنید که چگونه حلقه در اوایل شکسته می شود و زمانیکه x به ۵ می رسد حلقه متوقف می شود و دستور بعد حلقه (document.write (..)) اجرا می شود.

مثال:

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

خروجی:

Entering the loop
۲
۳
۴
۵
Exiting the loop!
Set the variable to different value and then try...

دستور Continue

continue statement اجرای حلقه (تکرار) جاری را در صورت برقراری شرط معین متوقف ساخته و به گام بعدی اجرای دستورات حلقه می پردازد (ادامه می هد).

مثال:

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

خروجی:

Entering the loop
۲
۳
۴
۶
۷
۸
۹
۱۰
Exiting the loop!
Set the variable to different value and then try...

label دار کردن دستورات جاوا اسکریپت

از دستور label در جاوا اسکریپت برای افزودن برچسب به یکسری دستورات و یک بلوک کد استفاده می شود.

label:
statements

برای این منظور پیش از دستور مورد نظر یک label name و کاراکتر دونقطه ” : ” درج می کنیم.

break و continue تنها دستوراتی هستند که توانایی خروج (بیرون پریدن) از یک قطعه کد (code block) را دارا می باشند.

سینتکس:

break labelname;
        continue labelname;

دستور continue (با / بدون label) می تواند تنها به منظور پریدن و نادیده گرفتن یک گام اجرای حلقه (یک مرحله تکرار) بکار گرفته شود.( تنها می تواند برای تکرار مجدد یک حلقه استفاده شود.)
دستور break (بدون label) تنها می تواند برای خروج از یک حلقه با یک سوئیچ مورد استفاده قرار گیرد.

برای درک بهتر لیبل ها دو مثال زیر را امتحان کنید.

مثال:

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

خروجی:

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!

مثال:

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

خروجی:

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!

 

دانشجویار نماد اعتماد به دانشجویار مجوز نشر دیجیتال لوگو شرکت به پرداخت ملت logo-samandehi مجوز سازمان فنی حرفه ای کشور