Eine Schleife wiederholt denselben Abschnitt Code, solange eine Bedingung zutrifft oder solange noch Werte in einer Liste übrig sind.
- Schleife
Eine Kontrollstruktur, die denselben Abschnitt Code mehrfach ausführt, bis eine Abbruchbedingung erreicht ist.
Beispiel: „Die Schleife läuft einmal über jeden Artikel im Warenkorb und addiert die Preise.“Auch: Loop.
Abgrenzung zur Rekursion: Beide wiederholen. Die Schleife tut es an Ort und Stelle, die Rekursion durch wiederholten Aufruf derselben Funktion.
Zwei Arten, die fast alles abdecken
Die eine läuft über die Werte einer Liste und hört auf, wenn sie durch ist. Das ist der Normalfall in der Webarbeit, weil fast alles als Array ankommt: Produkte, Suchtreffer, Beiträge.
Die andere läuft, solange eine Prüfung wahr ergibt. Sie wird gebraucht, wenn vorher nicht feststeht, wie oft wiederholt wird, etwa beim Lesen, bis nichts mehr kommt.
// über eine Liste
let summe = 0;
for (const artikel of warenkorb) {
summe += artikel.preis * artikel.menge;
}
// solange eine Bedingung gilt
while (seite <= letzteSeite) {
ergebnisse.push(holeSeite(seite));
seite++;
}Die Schleife, die nicht aufhört
Wird die Abbruchbedingung nie erreicht, läuft die Schleife endlos. Im Browser heißt das: Die Seite reagiert nicht mehr, weil der eine Vorgang alles andere blockiert. Auf dem Server heißt es, dass die Anfrage in eine Zeitsperre läuft.
Die Ursache ist fast immer dieselbe: Der Wert, der die Bedingung irgendwann falsch machen soll, wird im Rumpf nicht verändert. Deshalb gehört beim Schreiben einer Prüfschleife der Zähler zuerst hin und der Rest danach.
Warum Schleifen seltener werden
Für Listen gibt es inzwischen benannte Operationen: umformen, filtern, zusammenrechnen. Sie sagen im Namen, was geschieht, während eine Schleife erst gelesen werden muss. Gebraucht wird die Schleife weiterhin dort, wo mittendrin ausgestiegen werden soll.