آموزش کنترل حلقه در جاوا اسکریپت
آموزش کنترل حلقه در جاوا اسکریپت
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش کنترل حلقه در جاوا اسکریپت خواهیم پرداخت.
جاوا اسکریپت کنترل کامل برای مدیریت حلقه ها و تغییر دستورات را فراهم می کند. ممکن است شرایطی پیش بیاید که شما نیاز به بیرون آمدن از حلقه و بدون رسیدن به ته آن داشته باشید. همچنین ممکن است شرایطی پیش بیاید که بخواهید بخشی از بلاک کد خود را رد کرده و تکرار بعدی حلقه را شروع کنید.
برای رسیدگی به چنین شرایطی، جاوا اسکریپت دستور break و continue را ارائه می دهد. این عبارات به ترتیب برای بیرون آمدن فوری از هر حلقه یا شروع تکرار بعدی هر حلقه استفاده می شوند.
دستور break
دستور break، که مختصراً با دستور switch معرفی شد، برای بیرون آمدن زودهنگام از یک حلقه خارج شدن از براکت های محصور، استفاده می شود.
فلوچارت
فلوچارت دستور break به شرح زیر است:
مثال
مثال زیر استفاده از دستور break با حلقه while را نشان می دهد. توجه داشته باشید که چگونه حلقه زود شروع می شود وقتی x به 5 رسید و به (..)document.write دستور را درست در زیر بریس کروشه بسته می شود
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<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> |
خروجی
1 2 3 4 5 6 7 |
Entering the loop 2 3 4 5 Exiting the loop! Set the variable to different value and then try... |
ما قبلاً استفاده از دستور break را در داخل عبارت switch مشاهده کرده ایم.
دستور Continue
دستور Continue به مفسر می گوید که بلافاصله تکرار بعدی حلقه را شروع کرده و از بلاک کد باقی مانده بگذرد. وقتی عبارتی ادامه یافت، جریان برنامه بلافاصله به عبارت بررسی حلقه منتقل می شود و اگر شرط درست باقی بماند، تکرار بعدی را شروع می کند، در غیر این صورت کنترل از حلقه خارج می شود.
مثال
این مثال استفاده از یک جمله با حلقه while را نشان می دهد. توجه داشته باشید که وقتی ایندکس نگهداری شده در متغیر x به 5 می رسد ، از دستور Continue برای پرش از چاپ استفاده می شود
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<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> |
خروجی
1 2 3 4 5 6 7 8 9 10 11 |
Entering the loop 2 3 4 6 7 8 9 10 Exiting the loop! Set the variable to different value and then try... |
استفاده از لیبل برای کنترل جریان
از جاوا اسکریپت 1.2 شروع می شود ، می توان برچسبی را با break استفاده کرد و کنترل دقیق جریان را ادامه داد. یک برچسب به سادگی یک شناسه است و به دنبال آن یک دونقطه (:) قرار می گیرد که به یک عبارت یا یک مجموعه کد اعمال می شود. برای درک نحوه استفاده از برچسب ها با break و Continue، دو مثال مختلف خواهیم دید.
توجه – قطع خط بین عبارت “Continue” یا “break و نام برچسب آن مجاز نیست. همچنین ، نباید جمله دیگری بین نام برچسب و حلقه مرتبط وجود داشته باشد.
برای درک بهتر برچسب ها دو مثال زیر را امتحان کنید.
مثال 1
مثال زیر نحوه پیاده سازی Label با عبارت break را نشان می دهد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<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> |
خروجی
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
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! |
مثال 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<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> |
خروجی
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
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! |
لیست جلسات قبل آموزش جاوا اسکریپت
- آموزش جاوا اسکریپت
- نگاه کلی به آموزش جاوا اسکریپت
- آموزش نحو در جاوا اسکریپت
- آموزش فعال کردن جاوا اسکریپت در مرورگرها
- آموزش قرارگیری در فایل HTML در جاوا اسکریپت
- آموزش متغیرها در جاوا اسکریپت
- آموزش عملگرها در جاوا اسکریپت
- آموزش دستور if-else در جاوا اسکریپت
- آموزش دستور switch case در جاوا اسکریپت
- آموزش حلقه while در جاوا اسکریپت
- آموزش حلقه for در جاوا اسکریپت
- آموزش حلقه for…in در جاوا اسکریپت
دیدگاه شما