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

هنگامی که در حال نوشتن یک برنامه هستید، ممکن است با موقعیتی مواجه شوید که نیاز دارید یک عمل را به صورت تکراری چندین بارانجام دهید. در اینگونه موارد برای کاهش تعداد خطوط برنامه، شما نیاز به یک دستور حلقه خواهید داشت. جاوا اسکریپت از تمام حلقه های ضروری برای راحت تر کردن برنامه نویسی پشتیبانی میکند. از جمله آنها میتوان به حلقه ی while و do…while اشاره کرد


حلقه ی while

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


فلوچارت حلقه ی while

فلوچارت دستور while به شکلی است که در زیر آمده است :


while_loop


قاعده ی نوشتاری حلقه ی while

قاعده ی نوشتاری حلقه ی while در جاوا اسکریپت به شکل زیر است :

while (expression){
   Statement(s) to be executed if expression is true
}

نمونه مثال زیر نحوه ی پیاده سازی یک حلقه ی while را نشان میدهد :

<html>
   <body>
      
      <script type="text/javascript">
        
            var count = 0;
            document.write("Starting Loop ");
         
            while (count < 10){
               document.write("Current Count : " + count + "<br />");
               count++;
            }
         
            document.write("Loop stopped!");
         
      </script>

   </body>
</html>

خروجی به شکل زیر است :

Starting Loop
Current Count : 0
Current Count : 1
Current Count : 2
Current Count : 3
Current Count : 4
Current Count : 5
Current Count : 6
Current Count : 7
Current Count : 8
Current Count : 9
Loop stopped!

حلقه ی do…while

حلقه ی  do…while شبیه حلقه ی while است به جز اینکه ارزیابی شرط حلقه در آخر حلقه انجام میشود. این به این معناست که دستورات داخل حلقه حداقل همیشه یکبار اجرا خواهند شد، حتی اگر شرط حلقه نادرست باشد.


فلوچارت حلقه ی do…while

فلوچارت دستور do…while به شکلی است که در زیر آمده است :


do_while_loop


قاعده ی نوشتاری حلقه ی do…while

قاعده ی نوشتاری حلقه ی do…while در جاوا اسکریپت به شکل زیر است :

do{
   Statement(s) to be executed;
} while (expression);

نکته : نقطه ویرگول (;) آخر دستور do…while را فراموش نکنید.

 

نمونه مثال زیر نحوه ی پیاده سازی دستور do…while را در زبان جاوا اسکریپت را نشان میدهد :

<html>
   <body>
   
      <script type="text/javascript">
         
            var count = 0;
            
            document.write("Starting Loop" + "<br />");
            do{
               document.write("Current Count : " + count + "<br />");
               count++;
            }
            
            while (count < 5);
            document.write ("Loop stopped!");
        
      </script>
       
   </body>
</html>

خروجی به شکل زیر است :

Starting Loop
Current Count : 0 
Current Count : 1 
Current Count : 2 
Current Count : 3 
Current Count : 4
Loop Stopped!

بروزرسانی مقاله ی حلقه ی while در جاوا اسکریپت :  منتشر شده در ۱۶ خرداد ۱۳۹۷ 

در بعضی از مواقع نیاز داریم عملیات های مشابه را چندین بار تکرار کنیم. برای مثال زمانی که میخواهیم کالاها را یکی پس از دیگری لیست کنیم و یا اینکه کد مشابهی را برای هر کدام از ۱۰ کالا اعمال کنیم. حلقه ها راهی هستند که با استفاده از آنها می توان قسمت یکسانی از یک کد را چندین بار تکرار کرد.

حلقه while

قاعده نوشتاری حلقه while به شکل زیر است :

while (condition) {
  // code
  // so-called "loop body"
}

تا زمانی که condition صحیح (true) ارزیابی شود، دستور موجود در بدنه حلقه while اجرا خواهد شد.

برای مثال حلقه زیر مقدار متغیر i را تا زمانی که i < 3 صحیح ارزیابی شود در خروجی نمایش میدهد :

let i = 0;
while (i < 3) { // shows 0, then 1, then 2
  alert( i );
  i++;
}

هر بار اجرای بدنه حلقه یک تکرار نامیده می شود. حلقه مثال بالا با توجه به شرط مربوطه شامل ۳ تکرار است. اگر دستور ++i برای افزایش مقدار متغیر i در حلقه وجود نداشت در تئوری ، این حلقه تا بی نهایت اجرا می‌شد. ولی در عمل مرورگرها راهی را فراهم آورده اند که به حلقه های بینهایت خاتمه می دهند.

هر عبارت و یا متغیری می‌تواند به عنوان شرط حلقه قرار بگیرد. شرط در حلقه while در نهایت به یک عبارت boolean تبدیل خواهد شد.

برای نمونه روش ساده تر برای نوشتن شرط (while (i != 0 می تواند به شکل (while (i باشد :

let i = 3;
while (i) { // when i becomes 0, the condition becomes falsy, and the loop stops
  alert( i );
  i--;
}

برای زمانی که بدنه دستور while حاوی یک دستور است. می‌توان از نوشتن کروشه ها { } صرف نظر کرد :

let i = 3;
while (i) alert(i--);

حلقه do..while

ارزیابی شرط حلقه را می‌توان به پایین حلقه در زیر دستورات بدنه انتقال داد. در این صورت باید از حلقه do..while استفاده کرد. قاعده ی نوشتاری این حلقه به شکل زیر است :

do {
  // loop body
} while (condition);

حلقه در ابتدا دستورات بدنه را اجرا کرده و سپس در انتها شرط را بررسی می‌کند و در صورتی که شرط صحیح ارزیابی شود بدنه حلقه را برای بار دیگر اجرا می کند :

let i = 0;
do {
  alert( i );
  i++;
} while (i < 3);

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

منتشر شده در ۱۷ مهر ۱۳۹۶ حمید رضا ملکی ۴۰۳۷ بازدید
دیدگاه ها

هنوز دیدگاهی ثبت نشده

برای ارسال دیدگاه لازم است ابتدا وارد سایت شوید