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