Ich fragte a question about callbacks und kam zu einer anderen Frage (siehe Kommentar). Wie unterscheidet sich eine Schließung von einem Rückruf?Wie unterscheidet sich eine Schließung von einem Rückruf?
Antwort
Überprüfen Sie die Einführung in diesem: http://jibbering.com/faq/faq_notes/closures.html. Es kann Ihnen helfen, besser zu verstehen, wie sich Schließungen auf Funktionen beziehen. Hier
ist ein Satz von Verschluss Beispielen: http://www.javascriptkit.com/javatutors/closures2.shtml
Grundsätzlich ist der Rückruf ist wie ein Funktionszeiger. Das Bit, das es zu einem Abschluss macht, ist, wenn diese Funktion auf etwas in dem Kontext, in dem sie sich befindet, zugreift, wie Variablen außerhalb davon. Wenn dies geschieht, verwendet die Funktion die aktuellen Werte der Variablen (anstatt sie zu kopieren). Siehe Beispiel 4.
Ah ja, das macht es klar Herr Fred. Vielen Dank! :) – leeand00
Es gibt eine gute Definition von Verschlüssen here:
A „Schließung“ ist ein Ausdruck (typischerweise eine Funktion), die freie Variablen zusammen mit einer Umwelt haben können, die diese Variablen bindet (das " schließt "den Ausdruck".
In der Praxis bedeutet das, dass es sich um eine Funktion handelt, die einige versteckte Variablen enthält.
Ein Rückruf ist eine übergeordnete Idee. Im Allgemeinen ist es eine Funktion, die in der Absicht weitergegeben wird, zu einem späteren Zeitpunkt aufgerufen zu werden. In JavaScript werden Schließungen oft als Callbacks verwendet.
Unterschiedliche Definitionen:
Callback -
ein Rückruf ist ausführbaren Code, der als Argument für einen anderen Code übergeben wird.
Closure -
eine Schließung ist eine Funktion, die in einer Umgebung, die eine oder mehr gebundenen Variablen ausgewertet wird. Beim Aufruf kann die Funktion auf diese Variablen zugreifen.
Ich kann nicht sehen, wie die beiden überhaupt verwandt sind? Eine Schließung trägt Teile eines lokalen Staates in eine Funktion, denken Sie daran, dass sie durch Verweis geht.
Ein Rückruf soll Sie über bestimmte Änderungen informieren und den Programmablauf umleiten. Die Schließung könnte den lokalen Zustand ändern, aber Sie würden niemals Prozessorzeit dafür bekommen, wie bei einem Callback.
Jemand sagte mir, die beiden sind hier verwandt: http: // stackoverflow.com/questions/615642/does-this-passen-Ihre-Definition-eines-Callback/615752 # 615752 – leeand00
Ein Callback abhängig von einer Kontextvariablen aka gebundener Variablen (== Objektstatus) ist ein Closure. Es ist eine reine Funktion, wenn es nur freie Variablen (== Parameter) braucht.
In einfachen Worten: Ein Rückruf mit Kontextvariablen ist eine Schließung.
- 1. Rückruf/Schließung Ausgabe
- 2. Wie unterscheidet sich eine Rendering-Plattform von einem Webbrowser?
- 3. Warum unterscheidet sich {} + [] von ({} + [])?
- 4. Schließung und Rückruf Speicherverlust in Javascript
- 5. Wie unterscheidet sich Hashtable
- 6. Wie unterscheidet sich ein Client von einem Server-Peer?
- 7. Wie unterscheidet sich async w/erwarten von einem synchronen Anruf?
- 8. Wie unterscheidet sich ein Instanzinitialisierer von einem Konstruktor?
- 9. Wie unterscheidet sich das Observer-Muster von einem ereignisgesteuerten Modell?
- 10. Wie unterscheidet sich << von +?
- 11. Wie unterscheidet sich Gitlab von Github?
- 12. GCC: Wie unterscheidet sich März von Mtune?
- 13. Wie unterscheidet sich ArrayListMultimap von LinkedListMultimap?
- 14. Wie unterscheidet sich MegaStore von BigTable?
- 15. Wie unterscheidet sich Gurke von JUnit?
- 16. Wie unterscheidet sich das Armspeichermodell von ia64?
- 17. Wie unterscheidet sich mpi_file_write von mpi_file_write_all?
- 18. Wie unterscheidet sich eine Pandas-Kreuztabelle von einer Pandas pivot_table?
- 19. Wie unterscheidet sich eine annullierte Verzweigung von einer regulären Verzweigung?
- 20. Formular unterscheidet sich auf einem anderen Computer
- 21. Wie unterscheidet sich eine Zeichenfolge von einem Array von Zeichenzeiger in C?
- 22. Farbe von NavBar unterscheidet sich von Hintergrundfarbe
- 23. Warum unterscheidet sich ein SQL-Float von einem C# -Floss
- 24. Perl Mantisse unterscheidet sich von anderen Doppel
- 25. ProgressDialog Nachrichtentext unterscheidet sich von AlertDialog
- 26. Subprozess pid unterscheidet sich von ps output
- 27. Winforms ComboBox Höhe unterscheidet sich von ItemHeight
- 28. Sperrverhalten unterscheidet sich über Netzwerkfreigaben
- 29. Wie unterscheidet sich die Dichte von ggplot2 von der Dichtefunktion?
- 30. Wie unterscheidet sich ein Transducer von einer teilweise angewandten Funktion?
Ref: http://StackOverflow.com/Questions/2070275/Javascript-Closures-and-Callbacks –