Heim > Web-Frontend > Front-End-Fragen und Antworten > JQuery-Stoppschleifenfunktion

JQuery-Stoppschleifenfunktion

PHPz
Freigeben: 2023-05-12 09:41:37
Original
1105 Leute haben es durchsucht

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
  }
});
Nach dem Login kopieren

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
Nach dem Login kopieren
Nach dem Login kopieren

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('循环被停止了!');
}
Nach dem Login kopieren

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);
Nach dem Login kopieren

Das zurückgegebene Ergebnis ist:

1
2
3
Nach dem Login kopieren
Nach dem Login kopieren

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);
Nach dem Login kopieren

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;
  }
});
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage