Beim Schreiben von JavaScript-Programmen mit jQuery werden Schleifenfunktionen häufig zum Durchlaufen von Arrays oder Objekten verwendet. Aber manchmal müssen wir die Ausführung der Schleifenfunktion stoppen, wenn beispielsweise eine bestimmte Bedingung erfüllt ist, müssen wir die Schleife beenden. Wie kann man also die Ausführung der Schleifenfunktion stoppen? In diesem Artikel werden verschiedene Methoden vorgestellt.
1. Verwenden Sie die break-Anweisung
Die break-Anweisung von JavaScript kann verwendet werden, um aus der Schleife auszubrechen. Wenn Sie die Funktion every() von jQuery verwenden, können Sie die break-Anweisung im Schleifenkörper verwenden, um die Schleife zu beenden. Zum Beispiel:
$.each([1, 2, 3, 4, 5], function(index, value) { console.log(value); if (value === 3) { return false; // 等效于 break } });
In diesem Beispiel durchläuft die Methode $.each() ein Array und gibt den Wert jedes Elements aus. Wenn der Wert des Elements gleich 3 ist, kommt die Rolle der break-Anweisung ins Spiel. An diesem Punkt wird die Schleife beendet und das Ausgabeergebnis lautet:
1 2 3
Beachten Sie, dass die Anweisungen „return false“ und „break“ hier die gleiche Wirkung haben, denn wenn die Funktion innerhalb der Funktion „each()“ „false“ zurückgibt, ist dies äquivalent zu Verwenden der break-Anweisung, um aus der Schleife zu springen.
2. Verwenden Sie Variablenmarkierungen.
In einigen Fällen ist es möglicherweise nicht möglich, die Break-Anweisung direkt zu verwenden, um die Schleife zu beenden. In diesem Fall können wir eine Variablenmarkierung verwenden, um dies zu erreichen. Zum Beispiel:
var stopped = false; $.each([1,2,3,4,5], function(index, value){ console.log(value); if(value == 3) { stopped = true; return false; } }); if(stopped) { console.log('循环被停止了!'); }
Hier verwenden wir eine Variable mit dem Namen stopped
und setzen sie bei der Iteration auf 3 auf true. Dann wird die Variable nach der Schleife beurteilt. Wenn sie wahr ist, bedeutet dies, dass die Schleife gestoppt wird. Es ist jedoch zu beachten, dass die Lesbarkeit des Codes möglicherweise schlecht ist, wenn Sie jedes Mal eine Markierungsvariable verwenden müssen. Gleichzeitig muss auch bei der Benennung der Variablen vorsichtig vorgegangen werden.
3. Verwenden Sie den zweiten Parameter von $.each()
Zusätzlich zur Annahme von zwei Parametern (der erste Parameter ist das durchquerte Objekt, der zweite Parameter ist die Rückruffunktion) verfügt die Funktion $.each() auch über einen Dritter Parameter Drei optionale Parameter, die angeben, ob die Schleife abgebrochen werden soll. Wenn der dritte Parameter wahr ist, wird die Schleife abgebrochen; falsch, die Schleife wird fortgesetzt.
Zum Beispiel:
$.each([1,2,3,4,5], function(index, value){ console.log(value); if(value == 3) { return false; } }, true);
Das zurückgegebene Ergebnis ist:
1 2 3
Es ist zu beachten, dass der Wert des dritten Parameters als Schleifenobjekt fungiert, wenn der dritte Parameter wahr ist. Wir können also auch so schreiben:
$.each([1,2,3,4,5], function(index, value, stop){ console.log(value); if(value == 3) { stop(); } }, true);
Der Vorteil davon ist: Wir können den Funktionsnamen stop() anstelle der return false-Anweisung verwenden, um die Lesbarkeit des Codes zu verbessern. Gleichzeitig können wir unseren Beendigungsschleifencode auch flexibel in die Funktion stop() schreiben.
4. Andere Schleifenmethoden verwenden
Es gibt andere Schleifenfunktionen von jQuery, wie z. B. map(), grep(), inArray() usw., die alle die Funktion haben, die Schleife abzubrechen. Zum Beispiel:
var arr = [1,2,3,4,5]; $.map(arr, function(val, i){ console.log(val); if(val == 3) { return null; } });
In diesem Beispiel verwenden wir die Methode map(). Die Methode map() führt die Callback-Funktion einmal für jedes Element im Array arr aus. Wenn der Elementwert des Arrays gleich 3 ist, geben wir den Nullwert zurück, wodurch der Wert 3 aus der Ausgabeliste der Methode map() weggelassen wird. Das Ausgabeergebnis ist:
1 2 4 5
Darüber hinaus können Sie auch die grep()-Funktion von jQuery verwenden, um Array-Filteroperationen zu implementieren.
Zusammenfassung:
Die oben genannten Möglichkeiten sind mehrere Möglichkeiten, die Schleifenfunktion zu stoppen. Wählen Sie je nach tatsächlicher Situation unterschiedliche Methoden. Unter diesen ist die Verwendung von Break-Anweisungen und Variablenmarkierungen häufiger und relativ einfach und leicht zu verstehen. Darüber hinaus wird empfohlen, die Verwendung von kurzem und prägnantem Code nicht blind zu verfolgen. Lesbarkeit und Wartbarkeit des Codes sind das Wichtigste.
Das obige ist der detaillierte Inhalt vonJQuery-Stoppschleifenfunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!