Callback-Funktion - Verwendung von Klammern

8

Ich bin neu in jQuery und bin etwas verwirrt über die Verwendung (oder nicht) von Klammern mit einer Callback-Funktion. Angenommen, ich habe eine Funktion:

%Vor%

Was ist der Unterschied zwischen:

? %Vor%

und

%Vor%

Geht es um wenn die cb-Funktion ausgeführt wird? Es wäre großartig, wenn mir jemand dies in einfachsten Worten erklären könnte.

    
Edwin 05.07.2011, 22:19
quelle

4 Antworten

8

cb() bedeutet, geben Sie mir das Ergebnis der Ausführung der Funktion cb .

cb IST die Funktion cb oder, genauer gesagt, ein Zeiger (Verweis) darauf.

    
Michael 05.07.2011 22:22
quelle
6
  

Hat es damit zu tun, wenn die cb-Funktion ausgeführt wird?

Grundsätzlich, ja, obwohl der Unterschied ein wenig tiefer geht.

  • cb ist eine Art Referenz zur Funktion. Sie übergeben die Funktion als Parameter, der irgendwo auf der nächsten Zeile aufgerufen wird.

  • cb() ist ein Funktionsaufruf; Die Funktion wird aufgerufen und das Ergebnis als Argument an .hide übergeben.

quelle
2

$("p").hide(1000, cb); übergibt die von cb referenzierte Funktion als Callback.

$("p").hide(1000, cb()); übergibt den zurückgegebenen Wert, wenn die Funktion cb aufgerufen wird.

Gegeben:

%Vor%

Ersteres übergibt den Rückruf zum späteren Aufruf. Letztere übergibt den zurückgegebenen Wert true und ist im Wesentlichen $("p").hide(1000, true);

    
Dan 05.07.2011 22:23
quelle
2

Der Unterschied ist, dass in Javascript-Funktionen Objekte der ersten Klasse sind und an andere Funktionen übergeben werden können, so dass sie zu einem späteren Zeitpunkt oder abhängig von einer Logik ausgeführt werden können.

Betrachten Sie Folgendes:

%Vor%     
Dunes 05.07.2011 22:43
quelle

Tags und Links