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();


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow