دستور continue در جاوا اسکریپت
در این پست آموزشی از مکتب خونه قصد داریم در رابطه با دستور continue در جاوا اسکریپت باهم به گفتگو بپردازیم. دستور continue برای پرش از تکرار فعلی حلقه استفاده می شود و جریان کنترل برنامه به تکرار بعدی می رود. کنترل کامل برای رسیدگی به عبارات حلقه در جاوا اسکریپت وجود دارد. گاهی اوقات، موقعیتی پیش میآید که ما میخواهیم برخی از کدهای حلقه را رد کنیم و به تکرار بعدی برویم. با استفاده از عبارت continue در جاوا اسکریپت می توان به این ویژگی دست یافت.
[box type=”note” align=”” class=”” width=””]ویدئو پیشنهادی: آموزش جاوا اسکریپت[/box]
دستور continue در جاوا اسکریپت
عبارت continue از یک تکرار در حلقه پرش میکند. تکرار را در حلقه می شکند و به اجرای تکرار بعدی در حلقه را ادامه می دهد. این دستور در جاوا اسکریپت کاربرد فراوانی به خصوص در به کاربردن حلقه ها دارد.، در ادامه با این دستور و نحوه به کار بردن آن آشنا خواهیم شد.
در صورت وقوع یک شرط مشخص، عبارت continue یک تکرار (در حلقه) را می شکند و با تکرار بعدی در حلقه ادامه می دهد. تفاوت بین continue و دستور break، به جای “پرش به بیرون” از یک حلقه، عبارت continue “پرش روی” یک تکرار در حلقه است.
با این حال، هنگامی که دستور continue اجرا می شود، برای انواع مختلف حلقه ها رفتار متفاوتی دارد:
- در یک حلقه while شرط تست می شود و اگر درست باشد حلقه دوباره اجرا می شود
- در یک حلقه for، ابتدا عبارت افزایشی (به عنوان مثال i++) ارزیابی میشود و سپس شرط مورد آزمایش قرار میگیرد تا مشخص شود آیا باید تکرار دیگری انجام شود یا خیر.
در ادامه هر دوی کاربرد آن در حقله ها را مورد بررسی قرار خواهیم داد.
سینتکس دستور continue در جاوا اسکریپت به این صورت است:
continue [label];
توجه: درج برچسب یک امر اختیاری است و به ندرت استفاده می شود.
دستور continue در حلقه for
در یک حلقه for، دستور continue در جاوا اسریپت از تکرار فعلی پرش میکند و جریان کنترل به updateExpression میرود. به عبارتی دیگر هنگام استفاده از دستور continue در حلقه for، حلقه را به طور کامل خاتمه نمی دهد. در عوض، به عبارت تکرار کننده می پرد. به فلوچارت زیر در این رابطه دقت کنید:
مثال: به مثال زیر در استفاده از دستور continue در حلقه نام برده شده دقت کنید:
// program to print the value of i
for (let i = 1; i <= 5; i++) {
// condition to continue
if (i == 3) {
continue;
}
console.log(i);
}
خروجی به شکل زیر خواهد بود:
در برنامه فوق از حلقه for برای چاپ مقدار i در هر تکرار استفاده می شود. به عبارت continue در داخل حلقه توجه کنید.
if(i == 3) {
continue;
}
این یعنی:
- وقتی i برابر با 3 باشد، عبارت continue از تکرار سوم می گذرد.
- سپس، i برابر 4 می شود و شرط تست و عبارت continue دوباره ارزیابی می شود.
- از این رو، 4 و 5 در دو تکرار بعدی چاپ می شوند.
به نکات زیر در این رابطه توجه بفرمایید:
- توجه: دستور continue تقریباً همیشه با عبارات تصمیم گیری در برنامه نویسی استفاده می شود.
- توجه: دستور break به طور کامل حلقه را خاتمه می دهد. با این حال، دستور continue در جاوا اسکریپت فقط از تکرار فعلی صرف نظر می کند.
[box type=”note” align=”” class=”” width=””]مقاله پیشنهادی: symbol در جاوا اسکریپت [/box]
دستور continue در حلقه while
در یک حلقه while، continue از تکرار جاری پرش میکند و جریان کنترل برنامه به حالت while برمیگردد. دستور continue برای حلقه های while و do…while به همین صورت عمل می کند. هنگام استفاده از دستور continue در یک حلقه while، اجرای حلقه را به طور کامل خاتمه نمی دهد. در عوض، به حالت قبلی باز می گردد.
فلوچارت زیر نشان می دهد که دستور continue در یک دستور حلقه while چگونه کار می کند:
به مثال زیر به خوبی دقت کنید و اگر متوجه آن نشدید توضیحات آن را بخوانید:
// program to calculate positive numbers only
// if the user enters a negative number, that number is skipped from calculation
// negative number -> loop terminate
// non-numeric character -> skip iteration
let sum = 0;
let number = 0;
while (number >= 0) {
// add all positive numbers
sum += number;
// take input from the user
number = parseInt(prompt('Enter a number: '));
// continue condition
if (isNaN(number)) {
console.log('You entered a string.');
number = 0; // the value of number is made 0 again
continue;
}
}
// display the sum
console.log(`The sum is ${sum}.`);
در برنامه فوق کاربر یک عدد را وارد می کند. حلقه while برای چاپ مجموع اعداد مثبت وارد شده توسط کاربر استفاده می شود. خروجی این قطعه کد به صورت زیر خواهد بود، توجه کنید که اعداد دلخواه را باید وارد کنید و نتیجه را مشاهده کنید.
به استفاده از عبارت continue توجه کنید.
if (isNaN(number)) {
continue;
}
هنگامی که کاربر یک عدد/رشته غیر عددی را وارد می کند، عبارت continue از تکرار جاری می گذرد. سپس جریان کنترل برنامه به شرط حلقه while می رود.
هنگامی که کاربر عددی کمتر از 0 را وارد می کند، حلقه خاتمه می یابد. در برنامه فوق، isNaN برای بررسی اینکه آیا مقدار وارد شده توسط کاربر یک عدد است یا خیر استفاده می شود.
[box type=”note” align=”” class=”” width=””]مقاله پیشنهادی: صفر تا صد متغیرها در جاوا اسکریپت [/box]
دستور continue در جاوا اسکریپت برای حلقه تودرتو
هنگامی که از دستور continue در جاوا اسریپت در داخل دو حلقه تو در تو استفاده می شود، ادامه از تکرار فعلی حلقه داخلی صرف نظر می کند. به مثال زیر در این زمینه توجه کنید:
// nested for loops
// first loop
for (let i = 1; i <= 3; i++) {
// second loop
for (let j = 1; j <= 3; j++) {
if (j == 2) {
continue;
}
console.log(`i = ${i}, j = ${j}`);
}
}
خروجی به شکل زیر خواهد بود:
در برنامه فوق، هنگامی که دستور continue اجرا می شود، از تکرار جاری در حلقه داخلی صرف نظر می کند و جریان کنترل برنامه به updateExpression حلقه داخلی منتقل می شود.
بنابراین، مقدار j = 2 هرگز در خروجی نمایش داده نمی شود.
هنگام استفاده از حلقههای تودرتو، میتوانید تکرار فعلی را نادیده بگیرید و جریان کنترل برنامه را میتوانید به updateExpression یک دستور برچسب منتقل کنید. اما برچسب ادامه به ندرت در جاوا اسکریپت استفاده می شود زیرا این کار خواندن و درک کد را سخت تر می کند.
استفاده از دستور continue در جاوا اسکریپت با برچسب
عبارت continue می تواند شامل یک برچسب اختیاری مانند این باشد:
continue [label];
به مثال زیر در این زمینه توجه کنید:
حلقه تودرتو زیر جفت اعداد از 1 تا 3 را نمایش می دهد:
شکل زیر نحوه استفاده از دستور continue را با یک برچسب نشان می دهد:
برچسب ما در بالا outer نام دارد که در جلو عبارت continue قرار دارد. امیدوارم که مقاله ما در راىطه با دستور continue در جاوا اسکریپت مورد توجه شما قرار گرفته باشد.