ECMAScript break နှင့် continue အစကား

break နှင့် continue စကားများသည် ခုံးပြီး လုပ်ကြည့်ခြင်း၏ လုပ်ကြည့်ခြင်းအထူးချက်များ ကို အပြည့်အဝိုက်ချက်ပြုသည်

break နှင့် continue စကားများ၏ အမျိုးအမည်

break စကားကို ခုံးပြီး ခုံးပြီး လုပ်ကြည့်ခြင်းမှ ထွက်ခွာသွားသည်၊ အခြား လုပ်ကြည့်ခြင်းကို အပိုက်မပြု၍ အသုံးပြုသည်

continue စကားကို ခုံးပြီး လုပ်ကြည့်ခြင်းမှ ထွက်ခွာသွားသည်၊ သို့သော် ပြဿာလက်အချက်အလက်အား အသုံးပြု၍ နောက်လာသော ခုံးပြီး လုပ်ကြည့်ခြင်းကို ဆက်လက်လုပ်ကြည့်နိုင်သည်

ဥပမာ့

var iNum = 0;
for (var i=1; i<10; i++) {
  if (i % 5 == 0) {
    break;
  }
  iNum++;
}
alert(iNum);	// "4" ကို ပြောကြားသည်

အထိုအချက်အလက်များတွင် for ခုံးပြီး 1 မှ 10 အထိ လည်ပတ်လေ့ ရှိသည်။ ခုံးပြီး အခြေခံတွင် if စကားကို အသုံးပြု၍ (modulus ထုတ်လုပ်သည်) i အား 5 ဖြင့် လျှို့ဝှက်ကို စစ်ဆေးသည်။ အလိုအားရှိသော် ခုံးပြီး လုပ်ကြည့်ခြင်း၏ အပြည့်အဝိုက်ချက်ကို "4" ကို alert က ပြောကြားသည်။

ဒါကဲ့သို့ အမှုအရာကို continue စကားကို အသုံးပြုလျှင် ရလဒ်ကို ပြောင်းလဲသည်

var iNum = 0;
for (var i=1; i<10; i++) {
  if (i % 5 == 0) {
    continue;
  }
  iNum++;
}
alert(iNum);	// "8" ကို ပြောကြားသည်

ဒါကဲ့သို့၊ alert က "8" ကို ပြောကြားသည်၊ သို့မဟုတ် ခုံးပြီး လုပ်ကြည့်ခြင်း၏ အပြည့်အဝိုက်ချက်မှာ 9 ဖြစ်သည်။ သို့သော် i အား 5 အားဖြင့် ပြောင်းလဲသည်နောက် continue စကားကို အသုံးပြုလျှင် iNum++ အစက်ကို ပြောင်းလဲ၍ ခုံးပြီး ပြန်လာသည်။

与有标签的语句一起使用

break 语句和 continue 语句都可以与有标签的语句联合使用,返回代码中的特定位置。

通常,当循环内部还有循环时,会这样做,例如:

var iNum = 0;
outermost:
for (var i=0; i<10; i++) {
  for (var j=0; j<10; j++) {
    if (i == 5 && j == 5) {
    break outermost;
  }
  iNum++;
  }
}
alert(iNum);	//输出 "55"

在上面的例子中,标签 outermost 表示的是第一个 for 语句。正常情况下,每个 for 语句执行 10 次代码块,这意味着 iNum++ 正常情况下将被执行 100 次,在执行完成时,iNum 应该等于 100。这里的 break 语句有一个参数,即停止循环后要跳转到的语句的标签。这样 break 语句不止能跳出内部 for 语句(即使用变量 j 的语句),还能跳出外部 for 语句(即使用变量 i 的语句)。因此,iNum 最后的值是 55,因为当 i 和 j 的值都等于 5 时,循环将终止。

可以以相同的方式使用 continue 语句:

var iNum = 0;
outermost:
for (var i=0; i<10; i++) {
  for (var j=0; j<10; j++) {
    if (i == 5 && j == 5) {
    continue outermost;
  }
  iNum++;
  }
}
alert(iNum);	//输出 "95"

在上例中,continue 语句会迫使循环继续,不止是内部循环,外部循环也如此。当 j 等于 5 时出现这种情况,意味着内部循环将减少 5 次迭代,致使 iNum 的值为 95。

အကြံပေး可以看出,与 break 和 continue 联合使用的有标签语句非常强大,不过过度使用它们会给调试代码带来麻烦。要确保使用的标签具有说明性,同时不要嵌套太多层循环。

အကြံပေးအချက်အလက်ကို သိရှိသည်ကို ကြည့်ရှုပါ ECMAScript အချက် ဒါကို သိရှိသည်