Break at Continue Statement ng ECMAScript

Ang break at continue statement ay nagbibigay ng mas mahigpit na kontrol sa pagsasagawa ng kodigo sa loob ng loop.

Kung paano magkaiba ang break at continue statement

Ang break statement ay mag-alis mula sa loop agad, na pinapigil ang muling pagpapatuloy ng kahit anong kodigo.

Ang continue statement lamang ay mag-alis sa kasalukuyang loop, pero pinapayagan pa rin ang pagpapatuloy ng susunod na loop ayon sa kontrol expression.

Halimbawa:

var iNum = 0;
for (var i=1; i<10; i++) {
  if (i % 5 == 0) {
    break;
  }
  iNum++;
}
alert(iNum);	// Magpakita ng "4"

Sa ito pang kodigo, ang for loop ay nag-iterasyon mula 1 hanggang 10 sa variable i. Sa pangunahing bahagi ng loop, ang if statement ay magtitingnan kung ang halaga ng i ay maaaring hatiin ng 5 (gamit ang operator ng modular division). Kapag maaaring hatiin, ang break statement ay magsasagawa. Ang alert ay magpakita ng "4", na ang bilang ng pagpapatuloy ng loop bago umalis.

Kung magpalit ng continue statement ang break statement sa kasalukuyang halimbawa, ang resulta ay magiging iba:

var iNum = 0;
for (var i=1; i<10; i++) {
  if (i % 5 == 0) {
    continue;
  }
  iNum++;
}
alert(iNum);	// Magpakita ng "8"

Narito, ang alert ay magpapakita ng "8", na ang bilang ng pagpapatuloy ng loop. Ang posibleng kabuuang bilang ng loop na maaaring magsagawa ay 9, ngunit kapag ang halaga ng i ay 5, ang continue statement ay magsasagawa, na magpahuli ng iNum++ at ibabalik sa simula ng loop.

Kasama ang tag statement

Ang break statement at ang continue statement ay maaaring gamitin kasama ang tag statement upang umuwi sa partikular na lokasyon ng code.

Karaniwang ginagamit ito kapag mayroong loop sa loob ng loop, halimbawa:

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);	// Output "55"

Sa halimbawa na ito, ang tag outermost ay nangangahulugan ng unang for statement. Sa normal na kundisyon, bawat for statement ay magsasagawa ng 10 beses ng code block, kung saan ang iNum++ ay dapat na isagawa 100 beses, at sa pagkatapos ng pagluluto, ang iNum ay dapat na magiging 100. Dito, ang break statement ay may isang parameter, na ang halaga ng tag na dapat nilikha pagkatapos ng paghinto ng loop. Kaya ang break statement ay hindi lamang maglilisan sa panloob na for statement (ang ginagamit ng variable j), kundi din sa labas na for statement (ang ginagamit ng variable i). Kaya ang huling halaga ng iNum ay 55, dahil kapag ang halaga ng i at j ay 5, ang loop ay magtatapos.

Maaaring gamitin ang break statement sa parehong paraan:

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);	// Output "95"

Sa halimbawa na ito, ang break statement ay magpapatuloy sa paggamit ng loop, hindi lamang ang panloob na loop, kundi din ang labas na loop. Kapag ang j ay 5, ito ay nangangahulugan na ang panloob na loop ay mabawasan ng 5 beses na paglupay, na nagiging halaga ng iNum ay 95.

Mga tagubilin:Maaaring makita, ang tag statement na ginagamit kasama ang break at continue ay napakamakapangyarihan, ngunit ang sobrang paggamit nito ay maaaring magbigay ng problema sa debugging ng code. Tiyaking ang mga tag na ginamit ay may kahulugang naglalaman, at huwag magkatulad ng maraming mga layer ng loop.

Mga tagubilin:Gusto mong malaman kung ano ang tag statement, basahin mo ang Label Statement ng ECMAScript Ito ang seksyon.