Zoeken…


Opmerkingen

In Javascript is er geen idee van naamruimten en ze zijn erg handig om de code in verschillende talen te organiseren. Voor javascript helpen ze het aantal globals te verminderen dat nodig is voor onze programma's en helpen ze tegelijkertijd ook om naamgeving van botsingen of overmatig voorvoegsel van namen te voorkomen. In plaats van het globale bereik te vervuilen met veel functies, objecten en andere variabelen, kunt u één (en idealiter slechts één) globaal object maken voor uw toepassing of bibliotheek.

Naamruimte door directe toewijzing

 //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() {}

Geneste naamruimten

Als er meerdere modules bij betrokken zijn, vermijdt u prolifererende globale namen door een enkele globale naamruimte te maken. Van daaruit kunnen alle submodules worden toegevoegd aan de globale naamruimte. (Verder nesten zal de prestaties vertragen en onnodige complexiteit toevoegen.) Langere namen kunnen worden gebruikt als naamconflicten een probleem zijn:

 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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow