از دستور break برای زمانی که بخواهیم از حلقه کاملا خارج شویم استفاده می شود.این دستور قبلا درون switch استفاده می شد.این دستور را معمولا درون دستور شرطی که true است استفاده می کنیم.
مثال:
1 2 3 4 5 6 7 8 9 10 |
for (let i = 0; i < 5; i++) { if (i === 3) { break; } text += "The number is " + i + "<br>"; } /* The number is 0 The number is 1 The number is 2 The number is 4 */ |
دستور continue زمانی استفاده می شود که قصد داریم یکبار از حلقه خارج و دوباره به ادامه آن برگردیم.این دستور را معمولا درون دستور شرطی که true است استفاده می کنیم.
مثال:
1 2 3 4 5 6 7 8 9 10 |
for (let i = 0; i < 10; i++) { if (i === 3) { continue; } text += "The number is " + i + "<br>"; } /* The number is 0 The number is 1 The number is 2 The number is 4 */ |
تعریف لیبل یا label در جاوااسکریپت
برای اینکه برای دستورات خود یک لیبل تعیین کنید،یک نام بهمراه یک دو نقطه قرار داده و آکلاد خود را جهت نوشتن دستورات باز میکنیم.
این روش هیچ فرقی با کدنویسی عادی ندارد فقط نامی را برای دستورات خود مشخص میکنیم.
نحوه نوشتن:
1 2 3 |
labelname : { statement } |
حال این امکان وجود دارد که از دستور break یا continue برای دستورات دارای لیبل استفاده کنیم.
به همین منظور واژه break یا continue را قبل از نام لیبل قرار میدهیم.
در حالت عادی این امکان وجود ندارد که واژه break یا continue را لابلای دستورات خود بنویسیم و حتما باید آنها را درون حلقه یا switch استفاده کنیم.
نحوه نوشتن:
1 2 |
break labelname; continue labelname; |
فرق استفاده از break و continue در حالت عادی یا لیبل
در حالت عادی یا لیبل دستور continue تنها یکبار از حلقه خارج میشود و دوباره به آن بر میگردد.
مثال:
1 2 3 4 5 6 7 8 9 10 11 |
for (let i = 0; i < 6; i++) { if (i === 3) { continue; } text += "The number is " + i + "<br>"; } /* The number is 0 The number is 1 The number is 2 The number is 4 The number is 5 */ |
اما در دستور break در حالت عادی از حلقه و switch خارج میشود اما در حالت لیبل از درون هر نوع بلاکی خارج میشود و نیازی نیست حتما حلقه یا switch وجود داشته باشد.
مثال:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
const names = ["amir javanmir", "shahryar barati", "ali reza", "mohammad"]; let text = ""; list: { text += names[0] + "<br>"; text += names[1] + "<br>"; break list; text += names[2] + "<br>"; text += names[3] + "<br>"; } /* amir javanmir shahryar barati */ |