Sök…


Anmärkningar

I Javascript finns det ingen uppfattning om namnutrymmen och de är mycket användbara för att organisera koden på olika språk. För javascript hjälper de till att minska antalet globaler som krävs av våra program och samtidigt hjälper de också till att undvika namnkollisioner eller överdrivet namnprefix. I stället för att förorena det globala omfånget med många funktioner, objekt och andra variabler kan du skapa ett (och helst bara ett) globalt objekt för din applikation eller bibliotek.

Namnområde med direkt tilldelning

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

Kapslade namnutrymmen

När flera moduler är involverade, undvik spridning av globala namn genom att skapa ett enda globalt namnutrymme. Därifrån kan alla undermoduler läggas till det globala namnområdet. (Ytterligare häckning kommer att bromsa prestandan och lägga till onödig komplexitet.) Längre namn kan användas om namnkollisioner är ett problem:

 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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow