Dies ist einer der Code-Schnipsel, die ich aus dem Buch von Addy Osmani bekam, und konnte nicht verstehen, wie es funktioniert?Wie funktioniert das Code-Snippet (Modulmuster) (Addy Osmani)?
Antwort
Der Code aus dem Buch ist ein Modullader, mit dem Sie Bibliotheksfunktionen in einem definierten Variablennamespace speichern können. Die library
-Funktion nimmt ein Modul (das ein Objekt sein muss) und prüft, ob es eine init-Eigenschaft hat, ruft die init-Methode auf (um alle erforderlichen Teile der Bibliothek zu initialisieren) und gibt dann das initialisierte Modul zurück an den Anrufer.
Der zweite Teil des Codes, von dem Sie glauben, dass er verwechselt wird, verwendet eine anonyme Funktion, um ein Dummy-Modul an die Bibliotheksfunktion zu übergeben. Der Code:
var myLibrary = library(function() {
return {
init: function() {
// module implementation
}
};
}());
ist die gleiche wie wie etwas mit:
var someModule = {
init : function() {
// module implementation
}
}
var myLibrary = library(someModule)
Hier passieren wir die someModule
Objekt-Bibliothek(), die die gleiche wie was geschieht im Stand der Code-Schnipsel ist jedoch Im vorherigen Code-Block führen wir eine anonyme Funktion aus, die das Modul-Objekt kapselt, so dass wir keine zusätzlichen temporären lokalen Variablen erstellen müssen.
Wenn Sie noch etwas Klärung benötigen, fragen Sie bitte
Was macht diese Codezeile? $ (function() { ....... }); – user3516328
Es handelt sich um einen Codeblock, der ausgeführt wird, sobald dom bereit ist. Sobald die Bibliotheksfunktion aufgerufen wird und dom bereit ist, wird der Block ausgeführt – Alex
- 1. Sind das Modulmuster und das aufdeckende Modulmuster in Javascript nur beim Erstellen von APIs nützlich?
- 2. Warum erstellt das Modulmuster ein Singleton?
- 3. $ (this) in JavaScript Modulmuster
- 4. Wie implementiert man das Modulmuster mit öffentlicher Statik?
- 5. JavaScript Modulmuster mit Beispiel
- 6. Offensichtliche Modulmuster Nachteile
- 7. In einer Fenstereigenschaft instanziiertes Modulmuster
- 8. JavaScript-Organisation | Modulmuster w/Module
- 9. verwendet window.onload zum Ausführen einer anonymen Funktion das gleiche Grundprinzip wie das Modulmuster?
- 10. Variable im Modulmuster nicht zugewiesen Ausgabe
- 11. Zweck der Rückgabe {} im JavaScript-Modulmuster?
- 12. Gibt es ein Eclipse-Plugin, das eine Gliederungsansicht für das "JavaScript enthüllende Modulmuster" erstellt?
- 13. $ parser.unshift ?? wie funktioniert das?
- 14. Wie funktioniert das Webpack?
- 15. Wie funktioniert das ServicePointManager.SecurityProtocol?
- 16. Wie funktioniert das Codebeispiel?
- 17. Wie funktioniert das?
- 18. Wie funktioniert das audioParam.exponentialRampToValueAtTime?
- 19. Wie funktioniert das Coverage.so?
- 20. Wie funktioniert das?
- 21. Wie funktioniert das Ganze?
- 22. Wie funktioniert das DLSym?
- 23. Wie funktioniert das Keyword params?
- 24. Wie funktioniert das Web-Routing?
- 25. Wie funktioniert das # in Swift?
- 26. Wie funktioniert das apt-plugin?
- 27. Wie funktioniert das #! Shebang Arbeit?
- 28. Wie funktioniert das foistware-Paket?
- 29. Wie funktioniert das d3.scaleBand?
- 30. Wie funktioniert das .doc-Format?
Sie müssen viel spezifischer sein. Was verstehst du nicht? –
Es fügt nur die init() -Methode der lib hinzu, die Sie in das Ereignis "jquery's ready" übergeben. – dandavis
Ich wusste eigentlich nicht, wie das Ganze funktioniert? – user3516328