JavaScript petlje: objašnjenje izjave oznake, izjave nastavka i prekida

Izjava o oznaci

Izjava Znak se koristi s breakte continueizjave i služi za identifikaciju izjavu u kojoj su breaki continueizjave primijeniti.

O njima breaki continueizjavama razgovarat ćemo u nastavku.

Sintaksa

labelname: statements

Upotreba

Bez upotrebe labeledizjave breakizjava može samo probiti petlju ili switchizjavu. Korištenje labeledizraza omogućuje breakiskakanje iz bilo kojeg bloka koda.

Primjer

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

Kada se koristi s continueizrazom, labeledizjava vam omogućuje da preskočite iteraciju petlje, prednost dolazi u mogućnosti preskakanja iz unutarnje petlje u vanjsku kada imate ugniježđene izjave petlje. Bez upotrebe labeledizjave mogli biste samo iskočiti iz postojeće iteracije petlje unext iteration of the same loop.

Primjer

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

Izjava o prekidu

Izraz break prekida trenutnu petlju switchili labelizraz i prenosi kontrolu programa u izraz nakon prekinutog izraza.

break;

Ako se naredba break koristi u označenom izrazu, sintaksa je sljedeća:

break labelName;

Primjeri

Sljedeća funkcija ima izraz break koji završava whilepetlju kada je i 3, a zatim vraća vrijednost 3 * x .

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

Pokreni kod

U sljedećem primjeru brojač je postavljen da broji od 1 do 99; međutim, izjava break prekida petlju nakon 14 brojanja.

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

Pokreni kod

Nastavak izjave

Izraz continue završava izvršavanje naredbi u trenutnoj iteraciji trenutne ili označene petlje i nastavlja izvršavanje petlje sljedećom iteracijom.

continue;

Ako se naredba continue koristi u označenoj izjavi, sintaksa je sljedeća:

continue labelName;

Za razliku od naredbe break , continue ne završava u potpunosti izvršavanje petlje; umjesto toga:

  • U whilepetlji se vraća natrag u stanje.
  • U forpetlji preskače na izraz ažuriranja.

Primjeri

Sljedeći primjer prikazuje whilepetlju koja ima naredbu continue koja se izvršava kada je vrijednost i 3. Dakle, n poprima vrijednosti 1, 3, 7 i 12.

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

Pokreni kod

U sljedećem primjeru petlja ponavlja od 1 do 9. Izjave između continue i kraja fortijela preskaču se zbog upotrebe naredbe continue zajedno s izrazom (i < 5).

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

Pokreni kod