JavaScript-sløjfer: Forklaret etiketerklæring, fortsat erklæring og bruderklæring

Etiketerklæring

Den Label erklæring bruges med breakog continueerklæringer og tjener til at identificere den erklæring, hvortil breakog continueudsagn gælder.

Vi snakker mere om breakog continueudsagnene nedenfor.

Syntaks

labelname: statements

Anvendelse

Uden brug af en labelederklæring kan breakudsagnet kun bryde ud af en løkke eller en switcherklæring. Brug af en labelederklæring gør det muligt breakat hoppe ud af enhver kodeblok.

Eksempel

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! */

Når det bruges sammen med en continuesætning labeled, giver udsagnet dig mulighed for at springe over en loop-iteration, fordelen kommer fra at være i stand til at springe ud fra en indre loop til en ydre, når du har indlejrede loop-sætninger. Uden brug af en labelederklæring kunne du kun hoppe ud af den eksisterende loop-iteration tilnext iteration of the same loop.

Eksempel

// 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 */

Break erklæring

Den pause erklæring afslutter den aktuelle løkke, switcheller labelerklæring og overfører programstyringen til erklæring efter afsluttet erklæring.

break;

Hvis break- sætningen bruges i en mærket sætning, er syntaksen som følger:

break labelName;

Eksempler

Den følgende funktion har en bruderklæring , der afslutter whilesløjfen, når jeg er 3, og derefter returnerer værdien 3 * x .

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

Kør kode

I det følgende eksempel er tælleren indstillet til at tælle fra 1 til 99; dog afbryder erklæringen sløjfen efter 14 tællinger.

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

Kør kode

Fortsæt erklæring

Den fortsætter erklæring slutter udførelse af udsagn i den aktuelle iteration af den aktuelle eller mærket loop, og fortsætter eksekvering af løkken med den næste iteration.

continue;

Hvis fortsættelsessætningen bruges i en mærket sætning, er syntaksen som følger:

continue labelName;

I modsætning til break- erklæringen afslutter fortsat ikke udførelsen af ​​sløjfen fuldstændigt; i stedet:

  • I en whileløkke springer den tilbage til tilstanden.
  • I en forløkke springer den til opdateringsudtrykket.

Eksempler

Det følgende eksempel viser en whilesløjfe, der har en fortsættelsessætning , der udføres, når værdien af i er 3. Således får n værdierne 1, 3, 7 og 12.

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

Kør kode

I det følgende eksempel gentager en sløjfe fra 1 til 9. Udsagnene mellem fortsæt og slutningen af forkroppen springes over på grund af brugen af fortsættelsesudtalelsen sammen med udtrykket (i < 5).

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

Kør kode