Was sind einige aktuelle "Faustregeln" für die Implementierung JQuery Namespaces für allgemeine Dienstprogrammfunktionen hosten?Best Practices für JQuery-Namespaces + allgemeine Dienstprogrammfunktionen
Ich habe eine Reihe von JavaScript-Utility-Methoden verstreut in verschiedenen Dateien, die ich in einem (oder mehreren) Namespaces konsolidieren möchte. Was ist der beste Weg, dies zu tun?
ich zur Zeit an zwei verschiedenen Syntaxen suchen, aufgeführt in der Reihenfolge ihrer Präferenz:
//******************************
// JQuery Namespace syntax #1
//******************************
if (typeof(MyNamespace) === "undefined")
{
MyNamespace = {};
}
MyNamespace.SayHello = function()
{
alert("Hello from MyNamespace!");
}
MyNamespace.AddEmUp = function (a, b)
{
return a + b;
}
//******************************
// JQuery Namespace syntax #2
//******************************
if (typeof (MyNamespace2) === "undefined")
{
MyNamespace2 =
{
SayHello: function()
{
alert("Hello from MyNamespace2!");
},
AddEmUp: function (a, b)
{
return a + b;
}
};
}
Syntax # 1 ausführliche, aber es scheint, als wäre es einfacher, die Straße zu halten hinunter. Ich muss keine Kommas zwischen Methoden hinzufügen, und ich kann alle meine Funktionen ausrichten.
Gibt es andere, besser Möglichkeiten, dies zu tun?
Ich denke, besser ist die Syntax # 1 ist, da es Sie den Namensraum in mehrere Dateien verwenden. Ich verwende diese Methode in meinen Projekten. –
Ich sollte diese Frage auch auf Namespaces erweitern, die Aufzählungen enthalten. Für Enums würde ich immer noch Syntax # 1 bevorzugen. –
NB: Das Platzieren von offenen geschweiften Klammern in der eigenen Zeile ist eine Einladung zum Desaster. Open-Curlies sollten immer in der gleichen Zeile stehen wie ihr "Besitzer", dh if(), =, etc. –