wenn das Modul Muster in js ive Mitteilung mit, dass die wichtigsten Vorteile sind private Mitglieder und nicht den globalen Namensraum unübersichtlich, aber was ich wissen wollte, ist dies:verwendet window.onload zum Ausführen einer anonymen Funktion das gleiche Grundprinzip wie das Modulmuster?
(function(){
//some code...
})();
die gleiche wie folgt aus:
window.onload = function(){
//some code...
}
Beide bieten private Mitglieder und beide nicht den globalen Namespace. Der einzige Unterschied, den ich feststellen kann, ist, dass, wenn beide DOM-Elemente manipulieren, der zweite irgendwo im Dokument (wegen document.onload) aufgerufen werden kann, während der erste am unteren Ende des Body-Knotens oder direkt nach dem Nähe des Körperknotens.
Gibt es irgendwelche anderen Unterschiede zwischen den beiden, die ich vermisse?
wow ich weiß nicht, warum ich das nicht gesehen habe, so das Modul Muster ist eine Ebene über einem anonymen window.onload Ausführung bedeutet, dass Sie mehr als 1 haben können? – zero
Nun, Sie verwenden den Ausdruck "Modulmuster" nicht korrekt. Aber ja, '(function() {...})();' führt die Funktion sofort aus - abgesehen von Scoping-Problemen ist es, als würde man '...' direkt in Ihr Skript einfügen - so können Sie diese Syntax verwenden beliebig viele Male auf einer Seite, so wie Sie die Syntax 'alert (' ... ')' oder die Syntax 'var ... = ... 'mehrmals auf einer Seite verwenden können. – ruakh
"Nun, Sie verwenden den Ausdruck" Modulmuster "nicht richtig" gibt es viel mehr zu der Grundlage dieses Musters? – zero