While Loops vs. For Loops in JavaScript? [geschlossen]

9

Was bringt die Verwendung einer while -Schleife über einer for -Schleife? Wenn ich durch Arrays iteriere, verwende ich immer eine for -Schleife, also habe ich mich gefragt, ob ich hier etwas verpasse.

Ich hatte nie eine Situation, in der eine for -Schleife nicht funktioniert, aber ich mache mir Sorgen, dass ich hier schlechte Angewohnheiten aufnehme. Meine Verwendung von Schleifen war in Bezug auf Elemente auf Webseiten, Zeug in Animationen, etc ..

    
Paul12_ 11.10.2016, 01:26
quelle

3 Antworten

20

Dies sind die Gründe, warum ich eins vor dem anderen wählen würde:

For-Loop-Syntax:

%Vor%

Ich würde eine for-Schleife verwenden, weil ich vielleicht die Anzahl der ITERATIONEN kenne, die ich tun muss, und ich habe eine INCREMENTING-Variable, die manchmal nützlich sein kann.

While-Schleife Syntax:

%Vor%

Ich würde diese Schleife benutzen, wenn ich NICHT sicher bin, wieviele ITERATIONEN ich ausführen muss. Beispiele: Warten, bis der Benutzer die richtigen Eingabewerte eingegeben hat, und weiterschleifen, bis er den richtigen Wert eingibt.

Do-While-Schleife Syntax:

%Vor%

Diese Schleife ist fast die gleiche wie eine while-Schleife, aber ich würde dies bevorzugen, wenn ich ATLEAST ONCE fertig machen muss, bevor ich anfange, zu überprüfen, was es ist, das mich dazu bringen würde, diesen Code zu wiederholen. Beispiel: Fragen Sie einen Benutzer zum ersten Mal nach einer Eingabe und validieren Sie sie anschließend. Wenn eine falsche Eingabe erfolgt ist, kehren Sie zurück und fragen Sie erneut nach Eingabe

    
Rezwan Azfar Haleem 11.10.2016, 01:34
quelle
7

Sie können immer entweder der Schleifen verwenden. Die häufigste Verwendung von for Schleifen ist jedoch, wenn die Anzahl der Iterationen bekannt ist und die while Schleife eine unbestimmte Anzahl von Iterationen hat oder von a abhängen würde besondere Bedingung. Zum Beispiel:

%Vor%     
Rax Weber 11.10.2016 01:35
quelle
7

Funktionell kann man den anderen unter allen Bedingungen ersetzen. Ist einer besser als der andere? Nicht in Javascript (das Sie getaggt haben), da es keine kompilierte Sprache ist.

Aber in Sprachen wie C ++ gibt eine for-Schleife dem Compiler normalerweise eine statische Anzahl an Schleifen, die der Compiler zur Optimierung der Binärdatei verwenden kann. Es sollte also schneller laufen (bei sehr großen Schleifen).

Das sollte im heutigen Zeitalter keine Sorge sein, wenn Sie nicht einmal die Leistungssteigerung einer Schleife bemerken, die für 10000 Iterationen auf einer 2,5-GHz-Quad-Core-CPU läuft.

Aber persönlich ist mir die Ästhetik sehr wichtig (und es sollte Ihnen, wenn Sie es ernst meinen mit der Kunst des Codierens) sehr wichtig sein. Wenn Sie beispielsweise mit einer externen Bedingung arbeiten (die Variable, die Sie überprüfen, wird außerhalb der Schleife definiert), gehen Sie mit einer while-Schleife. Es ist nur semantisch so schön. Auch While-Schleife sollte die De-facto-Wahl für eine Endlosschleife sein (Ich sehe keinen Grund, warum Sie in Javascript eine Endlosschleife haben würden).

Kurz gesagt, folgen Sie der Syntax. Überprüfst du nur eine Bedingung? Geh mit einer While-Schleife. Initiieren und inkrementieren / dekrementieren Sie etwas im Kontext einer Schleife und prüfen eine Bedingung? Nur dann geh mit der for-Schleife.

    
Jayachandran 11.10.2016 01:41
quelle