Nachdem ich etwas über das Modulmuster gelesen habe, habe ich ein paar Möglichkeiten gesehen, die Eigenschaften, die Sie veröffentlichen möchten, zurückzugeben.JavaScript Modul Pattern - Was ist mit der Verwendung von "Return this"?
Eine der gebräuchlichsten Methoden besteht darin, Ihre öffentlichen Eigenschaften und Methoden innerhalb der "return" -Anweisung zu deklarieren, abgesehen von Ihren privaten Eigenschaften und Methoden. Ein ähnlicher Weg (das "Aufdecken" -Muster) besteht darin, einfach Verweise auf die Eigenschaften und Methoden anzugeben, die öffentlich sein sollen. Zu guter Letzt bestand eine dritte Technik darin, ein neues Objekt innerhalb Ihrer Modulfunktion zu erstellen, dem Sie Ihre neuen Eigenschaften zuweisen, bevor Sie das Objekt zurückgeben. Dies war eine interessante Idee, erfordert jedoch die Erstellung eines neuen Objekts.
Also dachte ich, warum nicht einfach this.propertyName
verwenden, um Ihre öffentlichen Eigenschaften und Methoden zuzuweisen, und schließlich return this
am Ende verwenden? Dieser Weg scheint mir viel einfacher, da Sie private Eigenschaften und Methoden mit der üblichen Syntax var
oder function
erstellen können, oder verwenden Sie die this.propertyName
Syntax, um Ihre öffentlichen Methoden zu deklarieren.
Hier ist die Methode Ich schlage:
(function() {
var privateMethod = function() {
alert('This is a private method.');
}
this.publicMethod = function() {
alert('This is a public method.');
}
return this;
})();
es irgendwelche Vor/Nachteile der oben beschriebenen Methode zu verwenden? Was ist mit den anderen?
Haben Sie überlegt, was genau "das" ist? Wo fügen Sie Ihre publicMethode hinzu? –