Ich versuche, eine JS-Datei für unser Projekt zu erstellen, die einige allgemeine Dienstprogrammfunktionen verfügbar macht. Ich habe die folgenden zwei Muster vorher benutzt, aber nicht vollständig mit ihnen überzeugt.Identifizieren des besten Musters für das Aussetzen von JS-Dienstprogrammfunktionen
Muster 1
var objUtils = {
\t foo: function(){
\t \t //code
\t },
\t bar: function(){
\t \t //code
\t \t //foo can't be called
\t }
}
Das Problem mit dem obigen Muster ist, dass ich Quer aufrufen aufrufen kann, die Funktionen.
Muster 2
var objUtils = (function(){
\t var foo = function(){
\t },
\t bar = function(){
\t }
\t
\t return{
\t \t foo : foo,
\t \t bar : bar
\t }
})();
Das Problem mit dem obigen Muster ist, dass jedes Mal, wenn ich eine neue Funktion, die ich sicher zu machen habe hinzufügen, dass ich es mit dem Rückblock hinzufügen um es offen zu legen, was ich als eine Art überflüssige Arbeit empfinde.
Irgendwelche Gedanken?
'foo' kann innerhalb von 'bar' wie' this.foo() ', wenn man es so nennen genannt werden wie' objUtils.bar() ' – elclanrs
Named Exporte aus ES6 Module sind das eine und in diesen Tagen nur richtig. – Bergi
Das war albern Ich werde das nicht versuchen.foo(). Weg zu gehen. – NLV