Suche…
Bemerkungen
In Javascript gibt es keine Vorstellung von Namespaces und sie sind sehr nützlich, um den Code in verschiedenen Sprachen zu organisieren. Für Javascript reduzieren sie die Anzahl der von unseren Programmen benötigten Globals und vermeiden gleichzeitig Namenskollisionen oder übermäßige Namenspräfixe. Anstatt den globalen Gültigkeitsbereich mit einer Vielzahl von Funktionen, Objekten und anderen Variablen zu verschmutzen, können Sie ein (und im Idealfall nur ein) globales Objekt für Ihre Anwendung oder Bibliothek erstellen.
Namensraum durch direkte Zuweisung
//Before: antipattern 3 global variables
var setActivePage = function () {};
var getPage = function() {};
var redirectPage = function() {};
//After: just 1 global variable, no function collision and more meaningful function names
var NavigationNs = NavigationNs || {};
NavigationNs.active = function() {}
NavigationNs.pagination = function() {}
NavigationNs.redirection = function() {}
Verschachtelte Namensräume
Wenn mehrere Module beteiligt sind, vermeiden Sie die Verbreitung globaler Namen, indem Sie einen einzigen globalen Namespace erstellen. Von dort aus können beliebige Untermodule zum globalen Namespace hinzugefügt werden. (Durch weitere Verschachtelung wird die Leistung verringert und unnötige Komplexität hinzugefügt.) Längere Namen können verwendet werden, wenn Namenskonflikte ein Problem darstellen:
var NavigationNs = NavigationNs || {};
NavigationNs.active = {};
NavigationNs.pagination = {};
NavigationNs.redirection = {};
// The second level start here.
Navigational.pagination.jquery = function();
Navigational.pagination.angular = function();
Navigational.pagination.ember = function();