zhaoJians Tech-Notizen

IT-Kurs JavaScript-Grundlagen 042_Schleifen while, for

Lernen / JavaScript-Grundlagen ~7567 Wörter · 19 Min. Lesezeit - Aufrufe

Schleifenanweisungen sind Methoden zur wiederholten Ausführung eines Codeblocks. JavaScript bietet verschiedene Arten von Schleifenanweisungen wie while, do-while, for usw. Ein vollständiger Schleifenkörper umfasst: Initialisierungsausdruck, Schleifenbedingung und Iterator.

while-Schleife

Die while-Schleife wird verwendet, um einen Codeabschnitt wiederholt auszuführen, solange die Bedingung true ist. Die einmalige Ausführung des Schleifenkörpers wird als eine Iteration bezeichnet. Jeder Ausdruck oder jede Variable kann eine Schleifenbedingung sein, die Schleifenbedingung wird ausgewertet und das Ergebnis wird in einen booleschen Wert umgewandelt. Ähnlich wie bei if können die geschweiften Klammern {…} weggelassen werden, wenn der Schleifenkörper nur eine Anweisung hat, aber dies wird nicht empfohlen. Vor jeder Iteration wird die Bedingung überprüft.

Beispiel:

let i = 0; // Initialisierungsausdruck, wird normalerweise verwendet, um die Zählervariable zu deklarieren, bei Fehlen wird undefined gemeldet
while (i < 5) { // Schleifenbedingung, wenn `true`, wird die Schleife weiter ausgeführt
console.log(i);
i++; // Iterator, wird normalerweise verwendet, um die Zählervariable zu aktualisieren und der Schleifenbedingung zu entsprechen
}

Beispiel für Endlosschleife:

let i = 0;
while (1) { // Bedingung ist immer true, führt zur Endlosschleife
console.log(i);
i++; // Wird normalerweise bei dieser Form der Zähleraktualisierung der Schleifenbedingung verwendet
if (i >= 5) break; // Kommentieren Sie dies aus, um in den Endlosschleifenmodus zu wechseln
}

do-while-Schleife

Die do-while-Schleife ähnelt der while-Schleife, führt aber zuerst einmal den Schleifenkörper aus und überprüft dann, ob die Bedingung true ist. Wenn die Bedingung wahr ist, wird der Schleifenkörper weiter ausgeführt. Beachten Sie die Anwendungsszenarien: Verwenden Sie do-while nur, wenn der Schleifenkörper mindestens einmal ausgeführt werden soll, unabhängig davon, ob die Bedingung wahr ist oder nicht. Für andere Szenarien wird die while-Schleife empfohlen. Nach jeder Iteration wird die Bedingung überprüft.

Beispiel:

let i = 0;
do {
console.log(i);
i++;
} while (i < 5);

for-Schleife

Die for-Schleife ist eine komplexere, aber am häufigsten verwendete Schleifenstruktur zur wiederholten Ausführung eines Codeabschnitts. Die for-Schleife besteht aus drei Teilen: Initialisierungsausdruck, Schleifenbedingung und Iterator. Hier ist die grundlegende Syntax der for-Schleife: Vor jeder Iteration wird die Bedingung überprüft, andere Einstellungen können verwendet werden.

Beispiel:

for (let i = 0; i < 5; i++) {
console.log(i);
}

Beispiel für Endlosschleife:

let i = 0;
for ( ; ; ) { // Wenn alle Bedingungen weggelassen werden, entsteht eine Endlosschleife
console.log(i);
i++; // Wird normalerweise bei dieser Form der Zähleraktualisierung der Schleifenbedingung verwendet
if (i >= 5) break; // Kommentieren Sie dies aus, um in den Endlosschleifenmodus zu wechseln
}
Weglassen von Anweisungssegmenten

In der for-Schleife kann der Initialisierungsausdruck, die Schleifenbedingung oder der Iterator einzeln oder mehrfach weggelassen werden, aber die Semikolons ; müssen beibehalten werden. Die Semikolons trennen die einzelnen Teile, beim Weglassen eines Teils muss das entsprechende Semikolon dennoch beibehalten werden.

Beispiel:

let x = 0;
for (; x < 5; x++) {
console.log(x);
}
// Initialisierungsausdruck wird weggelassen und außerhalb der Schleife platziert, die Schleife funktioniert weiterhin
let y = 0;
for (;; y++) {
if (y >= 5) {
break;
}
console.log(y);
}
// Schleifenbedingung wird weggelassen, die Schleife wird durch `if`-Anweisung und `break` beendet
let z = 0;
for (; z < 5;) {
console.log(z);
z++;
}
// Iterator wird weggelassen und in den Schleifenkörper verschoben, die Schleife funktioniert weiterhin

Verschachtelte Schleifen

Verschachtelte Schleifen bedeuten, dass innerhalb eines Schleifenkörpers eine weitere vollständige Schleifenstruktur enthalten ist. Bei jeder Ausführung der äußeren Schleife wird die innere Schleife einmal vollständig ausgeführt.

Beispiel für rechtwinkliges Dreieck:

// Beispiel A
for (let i = 1; i <= 5; i++) { // Äußere Schleife, steuert die Zeilenanzahl, von 1 bis 5.
let row = ''; // Bei jeder Ausführung der äußeren Schleife wird ein leerer String `row` erstellt, um die Sterne der aktuellen Zeile zu speichern.
for (let j = 1; j <= i; j++) { // Innere Schleife, steuert die Anzahl der Sterne pro Zeile, von 1 bis zur aktuellen Zeilennummer `i`.
row += ''; // Hängt den Stern an `row` an und bildet den Sternstring der aktuellen Zeile.
}
console.log(row); // Gibt den Sternstring der aktuellen Zeile aus.
}
// Beispiel B
for (let i = 1; i <= 5; i++) { // Äußere Schleife repräsentiert die Zeilenanzahl
for (let j = 1; j <= i; j++) { // Innere Schleife repräsentiert die Spalten
document.write(''); // Verwendet Stern als grafisches Element
}
document.write('</br>'); // Zeilenumbruch
}

Beispiel für umgekehrtes Dreieck:

// Beispiel A
for (let i = 5; i >= 1; i--) { // Äußere Schleife, steuert die Zeilenanzahl, von 1 bis 5.
let row = ''; // Bei jeder Ausführung der äußeren Schleife wird ein leerer String `row` erstellt, um die Sterne der aktuellen Zeile zu speichern.
for (let j = 1; j <= i; j++) { // Innere Schleife, steuert die Anzahl der Sterne pro Zeile, von 1 bis zur aktuellen Zeilennummer `i`.
row += '* '; // Hängt den Stern an `row` an und bildet den Sternstring der aktuellen Zeile.
}
console.log(row); // Gibt den Sternstring der aktuellen Zeile aus.
}
// Beispiel B
for (let i = 1; i <= 5; i++) { // Äußere Schleife repräsentiert die Zeilenanzahl
for (let j = 0; j <= 5 - i; j++) { // Innere Schleife repräsentiert die Spalten
document.write(''); // Verwendet Stern als grafisches Element
}
document.write('</br>'); // Zeilenumbruch
}

break beendet (stoppt, verlässt) die Schleife

break wird verwendet, um die aktuelle Schleife oder switch-Anweisung zu beenden (zu stoppen, zu verlassen). Ohne break wird die Ausführung mit den nachfolgenden case-Anweisungen fortgesetzt (sogenanntes “Durchfallen”).

Die Kombination “Endlosschleife + break” eignet sich für Situationen, in denen die Bedingung nicht am Anfang/Ende der Schleife überprüft werden muss, sondern in der Mitte oder an mehreren Stellen im Hauptteil überprüft werden soll.

Beispiel:

let count = 0;
while (true) {
console.log("In der Schleife...");
// Simuliert eine Bedingung, die beim Erfüllen die Schleife verlässt
if (count === 5) {
console.log("Bedingung erfüllt, Schleife wird verlassen");
break;
}
count++;
}

continue fährt mit der nächsten Iteration fort (überspringt die aktuelle)

continue wird verwendet, um die aktuelle Iteration in einer Schleife vorzeitig zu beenden und mit der nächsten Iteration fortzufahren. continue ist die “leichtere Version” von break. Es stoppt nicht die gesamte Schleife, sondern stoppt nur die aktuelle Iteration und erzwingt den Start einer neuen Iteration (sofern die Bedingung es zulässt).

Beispiel:

for (let i = 0; i < 8; i++) {
if (i % 2 === 0) {
continue; // Wenn i modulo 2 gleich 0 ist, wird die aktuelle Iteration übersprungen und zur nächsten Iteration fortgefahren
}
console.log(i);
}
Teilen:

Kommentare