6 Stimmen

Wie werden verkettete Funktionen in JQuery ausgeführt?

Wenn eine Funktion in JQuery verkettet wird, wie lautet die Reihenfolge der Operationen?

Beispiel 1

$(selector).fun1(val,{fun2(){ }}

Beispiel 2

$(selecter).fun1().fun2().fun3()

8voto

Pekka Punkte 429407

Von links nach rechts. fun3() wird auf das Ergebnis (=Rückgabewert) von fun2() , fun2() über die von fun1() .

Diese Art der Verkettung kann in JQuery durchgeführt werden, da jede verkettbare Funktion das Objekt/Element zurückgibt, für das sie aufgerufen wurde.

Así que $(selector).fun1() $(selector) Element nach der Ausführung. fun2() von diesem zurückgegebenen Element aus aufgerufen wird, usw.

6voto

Nick Craver Punkte 609016

In diesem Beispiel:

$(selector).fun1(val,{fun2(){ }}

Der zweite Parameter der Funktion eins ist ein Rückruffunktion . Dies bedeutet fun1 führt aus. DANN fun2 ausführt.

In diesem Beispiel:

$(selecter).fun1().fun2().fun3()

Alle Funktionen werden so schnell wie möglich abgefeuert, wenn sie eine Dauer haben, wie zum Beispiel eine Animation. Ansonsten werden sie der Reihe nach ausgeführt fun1 , fun2 , fun3 .

Das gilt auch für Animationen, fun1 , fun2 y fun3 wären 3 gleichzeitige, sich überschneidende Animationen, aber bei anderen synchronen Vorgängen laufen sie einfach der Reihe nach ab.

0voto

Andy E Punkte 324972
  1. Verwendet eine "Callback"-Funktion. Du übergibst fun2 als Argument an fun1, fun1 ruft dann fun2 auf, wenn es fertig ist.
  2. Dies ist eine wirklich clevere Funktion von jQuery, die meisten jQuery-Methoden geben das ursprüngliche Objekt zurück, auf dem die Methode aufgerufen wurde, so dass Sie eine andere Methode auf diesem zurückgegebenen Objekt aufrufen können. Die Reihenfolge ist die gleiche wie die Reihenfolge, in der sie geschrieben ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X