Aus der vorherigen Untersuchung von Schleifen wissen wir, dass die Schleife standardmäßig automatisch beendet wird, wenn das Ausdrucksergebnis falsch ist, andernfalls wird die Schleife fortgesetzt. In einigen Fällen müssen wir nicht warten, bis die Schleife automatisch beendet wird, sondern können die Schleife aktiv verlassen. JavaScript bietet zwei Anweisungen, break und continue, um die Schleife zu verlassen und die aktuelle Schleife zu verlassen (überspringen).
1. continue-Anweisung
Mit der continue-Anweisung wird diese Schleife übersprungen und die nächste Schleife ausgeführt. Wenn die continue-Anweisung auftritt, testet das Programm den bedingten Ausdruck sofort erneut. Wenn das Ausdrucksergebnis wahr ist, wird die nächste Schleife gestartet. Wenn das Ausdrucksergebnis falsch ist, wird die Schleife beendet.
[Beispiel 1] Verwenden Sie die continue-Anweisung, um aus der for-Schleife zu springen:
<script type="text/javascript"> für (var i = 1; i < 10; i++) { if(i % 2 != 0) { weitermachen; } console.log(i); } </script>
Analyse:
for (var i = 0; i < 10; i++){}
kann eine Schleife ausführen, um alle Zahlen zwischen 1 und 10 zu erhalten.
Die Anweisung if(i % 2 != 0)
wird verwendet, um die zu bestimmen Wert von i Kann er durch 2 teilbar sein? Wenn nicht, ist der Wert in ()
wahr und continue;
Anweisung wird ausgeführt.
Verwenden Sie im Schleifenkörper die Anweisung if(i % 2 == 0)
um eine Beurteilung zu treffen. Wenn der Wert von i
gleichmäßig durch 2 geteilt werden kann, verwenden Sie „ console.log(i);
“, um den Wert auszugeben von i
kann nicht gleichmäßig durch 2 geteilt werden, lösen Sie continue;
-Anweisung aus, springen Sie aus dieser Schleife (keine Ausgabe) und führen Sie die nächste Schleife aus.
Ausgabeergebnis:
2. Break-Anweisung
Die Break-Anweisung wird verwendet, um aus der aktuellen Syntaxstruktur zu springen. Sie kann den Code des Schleifenkörpers beenden und sofort aus der aktuellen Schleife springen und den Code nach der Schleife (falls vorhanden) ausführen.
Der Unterschied zwischen break und continue besteht darin, dass die continue-Anweisung nur die aktuelle Schleife beendet, während die break-Anweisung die Ausführung der gesamten Schleife beendet.
Wenn wir weiterhin den Code aus Beispiel 1 oben verwenden und continue;
durch break;
ersetzen, was wird ausgegeben?
<script type="text/javascript"> für (var i = 1; i < 10; i++) { if(i % 2 != 0) { brechen; } console.log(i); } </script>
Die Antwort lautet: Nichts ausgeben . Warum passiert das? Lassen Sie es uns analysieren:
Ist 1 am Anfang der Forx-Schleife i=1
1 kleiner als 10? Natürlich wird dann die if(i % 2 != 0)
-Anweisung im Schleifenkörper ausgeführt.
Kann 1 dann 2 teilen? Offensichtlich ist dies nicht möglich. Wenn also der Wert in ()
console.log(i);
ist, wird die Anweisung „ break;
" Stellungnahme.
3. Verschachtelte For-Schleifen
Es ist zu beachten, dass sowohl break
als auch continue
nur für die aktuelle Schleife gültig sind. Wenn wir verschachtelte Schleifen haben, müssen wir vorsichtig sein. Schauen wir uns das folgende Beispiel an:
for (let i = 0; i < 5; i++) { if (i % 2 == 0) continue; for (let j = 0; j < 5; j++) { if (j == 2) break; console.log(`i = ${i}, j = ${j}`); } }
Hier haben wir zwei Schleifen, die jeweils fünfmal ausgeführt werden (0~4). Wenn i eine gerade Zahl ist, überspringt die äußere Schleife die aktuelle Schleife und führt die nächste aus. Das heißt, nur wenn i 1 oder 3 ist, wird die innere Schleife ausgeführt.
Die innere Schleife endet, solange der Wert von j 2 ist. Daher hat j nur 0 und 1.
Das Endergebnis ist wie folgt:
4. JavaScript-Tags
Ab JavaScript 1.2 können Tags in Verbindung mit break verwendet werden und weiterhin die Programmausführung genauer steuern.
Tags in JavaScript unterscheiden sich von Tags in HTML. Ein Tag in JavaScript ist ein Bezeichner (ähnlich einem Variablennamen), gefolgt von einem Doppelpunkt:. JavaScript-Tags können vor jeder Anweisung oder jedem Codeblock deklariert und in Verbindung mit break oder continue verwendet werden, um aus einer bestimmten Schleife zu springen. Wenn beispielsweise mehrere Schleifen verschachtelt sind, kann die einfache Verwendung von break nur aus der aktuellen Schleife springen, aber nicht die äußere Schleife. Wenn Sie break mit Beschriftungen verwenden, können Sie mehrere Schleifenebenen gleichzeitig durchbrechen.
Der Beispielcode lautet wie folgt:
<script type="text/javascript"> document.write("Schleife starten!<br /> "); Outerloop: //Definieren Sie eine Beschriftung für (var i = 0; i < 5; i++) { document.write("Äußere Schleife: " + i + "<br />"); innerloop: // Definiere ein Label für (var j = 0; j < 5; j++) { if (j > 3) break; // Aus der inneren Schleife ausbrechen if (i == 2) break innerloop; // Aus der inneren Schleife ausbrechen if (i == 4) aus der äußeren Schleife ausbrechen; äußere Schleife document.write( "Innere Schleife: " + j + " <br />"); } } document.write("Ende der Schleife!<br /> "); </script>
Hinweis: Zwischen break oder continue und der Bezeichnung darf kein Zeilenumbruch stehen. Darüber hinaus darf kein anderer Code zwischen dem Labelnamen und der zugehörigen Schleife stehen.
[Empfohlenes Lernen: JavaScript Advanced Tutorial]
Das Obige ist der detaillierte Inhalt des JS-Loop-Lernens: Break- und Continue-Anweisungen, um aus der Schleife zu springen. Weitere Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!