JavaScript hurkok: Címkekivonat, Folytatás és Bontási kimutatás

Címke nyilatkozat

A Label Statement a breakés continueutasításokkal együtt használható, és arra szolgál, hogy azonosítsa azt az állítást, amelyre a breakés continueutasítások vonatkoznak.

Az alábbiakban breakés a continuenyilatkozatokról bővebben beszélünk .

Szintaxis

labelname: statements

Használat

Használata nélkül egy labelednyilatkozatot a breaknyilatkozatot csak kitörni a hurok vagy switchnyilatkozatot. Egy labeledutasítás használata lehetővé teszi, breakhogy minden kódblokkból kiugorjon.

Példa

foo: { console.log("This prints:"); break foo; console.log("This will never print."); } console.log("Because execution jumps to here!") /* output This prints: Because execution jumps to here! */

Ha egy continueutasítással együtt használjuk, akkor az labeledutasítás lehetővé teszi a hurok iterációjának kihagyását, az előnye az, hogy egy belső ciklusból egy külsőbe ugorhatunk ki, amikor be van ágyazva a ciklus utasítás. Egy labeledutasítás használata nélkül csak a meglévő hurok iterációból ugorhat ki anext iteration of the same loop.

Példa

// without labeled statement, when j==i inner loop jumps to next iteration function test() { for (var i = 0; i < 3; i++) { console.log("i=" + i); for (var j = 0; j < 3; j++) { if (j === i) { continue; } console.log("j=" + j); } } } /* output i=0 (note j=0 is missing) j=1 j=2 i=1 j=0 (note j=1 is missing) j=2 i=2 j=0 j=1 (note j=2 is missing) */ // using a labeled statement we can jump to the outer (i) loop instead function test() { outer: for (var i = 0; i < 3; i++) { console.log("i=" + i); for (var j = 0; j < 3; j++) { if (j === i) { continue outer; } console.log("j=" + j); } } } /* i=0 (j only logged when less than i) i=1 j=0 i=2 j=0 j=1 */

Törésnyilatkozat

A break utasítás megszünteti az aktuális ciklust switchvagy labelutasítást, és a programvezérlést átadja a megszüntetett utasítást követő utasításnak.

break;

Ha a break utasítást címkézett utasításban használják, a szintaxis a következő:

break labelName;

Példák

A következő függvénynek van egy break mondata, amely akkor fejezi be a whileciklust, amikor i értéke 3, majd visszaadja a 3 * x értéket .

function testBreak(x) { var i = 0; while (i < 6) { if (i == 3) { break; } i += 1; } return i * x; }
:rakéta:

Futtassa a kódot

A következő példában a számláló 1 és 99 közötti számlálásra van beállítva; a break utasítás azonban 14 számlálás után megszünteti a ciklust.

for (var i = 1; i < 100; i++) { if (i == 15) { break; } }
:rakéta:

Futtassa a kódot

Nyilatkozat folytatása

A folytatás utasítás megszünteti az utasítások végrehajtását az aktuális vagy címkézett hurok aktuális iterációjában, és a ciklus végrehajtását a következő iterációval folytatja.

continue;

Ha a folytatás utasítást címkézett utasításban használják, a szintaxis a következő:

continue labelName;

A break utasítással ellentétben a folytatás nem fejezi be teljesen a ciklus végrehajtását; helyette:

  • Egy whilehurok, akkor ugrik vissza az állapotot.
  • Egy forciklusban a frissítési kifejezésre ugrik.

Példák

A következő példa egy whilehurokot mutat, amelynek van egy folytatása , amely akkor hajtódik végre, amikor i értéke 3. Így n felveszi az 1, 3, 7 és 12 értékeket.

var i = 0; var n = 0; while (i < 5) { i++; if (i === 3) { continue; } n += i; console.log (n); }
:rakéta:

Futtassa a kódot

A következő példában egy hurok 1-től 9-ig iterál. A folytatás és a fortörzs vége közötti utasítások átugrásra kerülnek, mert a folytatást és a kifejezést együtt használják (i < 5).

for (var i = 1; i < 10; i++) { if (i < 5) { continue; } console.log (i); }
:rakéta:

Futtassa a kódot