JavaScript bietet vollständige Kontrolle über die Handhabung von Schleifen und Switch-Anweisungen. Es kann vorkommen, dass Sie eine Schleife verlassen müssen, ohne ihr Ende zu erreichen. Es kann auch vorkommen, dass Sie einen Teil eines Codeblocks überspringen und direkt mit der nächsten Iteration beginnen möchten.
Um diese Situationen zu bewältigen, stellt JavaScript break- und continue-Anweisungen bereit. Diese Anweisungen werden verwendet, um eine Schleife sofort zu verlassen oder die nächste Iteration der Schleife zu starten.
Break-Anweisung:
Die break-Anweisung, die einfach mit der switch-Anweisung eingeleitet wird, dient dazu, die Schleife vorzeitig zu verlassen und die schließenden geschweiften Klammern zu unterbrechen.
Beispiel:
Dieses Beispiel veranschaulicht, wie die break-Anweisung mit einer while-Schleife verwendet wird. Beachten Sie, dass die Schleife zunächst von x bis 5 unterbrochen wird, direkt unterhalb der document.write(..)-Anweisung, mit der schließenden Klammer:
<script type="text/javascript"> <!-- var x = 1; document.write("Entering the loop<br /> "); while (x < 20) { if (x == 5){ break; // breaks out of loop completely } x = x + 1; document.write( x + "<br />"); } document.write("Exiting the loop!<br /> "); //--> </script>
Dies führt zu folgenden Ergebnissen:
Entering the loop 2 3 4 5 Exiting the loop!
Wir haben gesehen, dass die break-Anweisung in der switch-Anweisung verwendet wurde.
Fortsetzungserklärung:
continue-Anweisung weist den Interpreter an, sofort die nächste Iteration der Schleife zu starten und den Rest des Codeblocks zu überspringen.
Wenn eine continue-Anweisung auftritt, geht der Programmablauf sofort zur Schleife über, um den Ausdruck zu überprüfen. Wenn die Bedingung wahr bleibt, wird die nächste Iteration gestartet, andernfalls verlässt die Steuerung die Schleife.
Beispiel:
Dieses Beispiel veranschaulicht die Verwendung der continue-Anweisung mit while-Schleife. Bitte beachten Sie, dass die continue-Anweisung verwendet wird, um das Drucken zu überspringen, wenn die Exponentenvariable x 5 erreicht:
<script type="text/javascript"> <!-- var x = 1; document.write("Entering the loop<br /> "); while (x < 10) { x = x + 1; if (x == 5){ continue; // skill rest of the loop body } document.write( x + "<br />"); } document.write("Exiting the loop!<br /> "); //--> </script>
Dies führt zu folgenden Ergebnissen:
Entering the loop 2 3 4 6 7 8 9 10 Exiting the loop!
Verwenden Sie Tags, um den Fluss zu steuern:
Ab JavaScript 1.2 können Tags mit break verwendet werden und weiterhin den Prozess genauer steuern.
Das-Tag ist ein einfacher Bezeichner, gefolgt von einem Doppelpunkt, der auf eine Anweisung oder einen Codeblock angewendet wird. Sehen Sie sich zwei verschiedene Beispiele an, um die Aufschlüsselung der Etikettennutzung zu verstehen und fortzufahren.
Hinweis: Zwischen Fortsetzungs- oder Break-Anweisungen und ihren Tag-Namen sind Zeilenumbrüche zulässig. Darüber hinaus sollte es keine andere Deklaration zwischen einem Tag-Namen und der zugehörigen Schleife geben.
Beispiel 1:
<script type="text/javascript"> <!-- document.write("Entering the loop!<br /> "); outerloop: // This is the label name for (var i = 0; i < 5; i++) { document.write("Outerloop: " + i + "<br />"); innerloop: for (var j = 0; j < 5; j++) { if (j > 3 ) break ; // Quit the innermost loop if (i == 2) break innerloop; // Do the same thing if (i == 4) break outerloop; // Quit the outer loop document.write("Innerloop: " + j + " <br />"); } } document.write("Exiting the loop!<br /> "); //--> </script>
Dies führt zu folgenden Ergebnissen:
Entering the loop! Outerloop: 0 Innerloop: 0 Innerloop: 1 Innerloop: 2 Innerloop: 3 Outerloop: 1 Innerloop: 0 Innerloop: 1 Innerloop: 2 Innerloop: 3 Outerloop: 2 Outerloop: 3 Innerloop: 0 Innerloop: 1 Innerloop: 2 Innerloop: 3 Outerloop: 4 Exiting the loop!
Beispiel 2:
<script type="text/javascript"> <!-- document.write("Entering the loop!<br /> "); outerloop: // This is the label name for (var i = 0; i < 3; i++) { document.write("Outerloop: " + i + "<br />"); for (var j = 0; j < 5; j++) { if (j == 3){ continue outerloop; } document.write("Innerloop: " + j + "<br />"); } } document.write("Exiting the loop!<br /> "); //--> </script>
Dies führt zu folgenden Ergebnissen:
Entering the loop! Outerloop: 0 Innerloop: 0 Innerloop: 1 Innerloop: 2 Outerloop: 1 Innerloop: 0 Innerloop: 1 Innerloop: 2 Outerloop: 2 Innerloop: 0 Innerloop: 1 Innerloop: 2 Exiting the loop!