Buscar..
Observaciones
En Javascript, no hay noción de espacios de nombres y son muy útiles para organizar el código en varios idiomas. Para javascript, ayudan a reducir la cantidad de globales requeridos por nuestros programas y al mismo tiempo también ayudan a evitar colisiones de nombres o el prefijo excesivo de nombres. En lugar de contaminar el ámbito global con una gran cantidad de funciones, objetos y otras variables, puede crear un objeto global (e idealmente solo uno) para su aplicación o biblioteca.
Espacio de nombres por asignación directa
//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() {}
Espacios de nombres anidados
Cuando se involucran múltiples módulos, evite la proliferación de nombres globales creando un único espacio de nombres global. Desde allí, se pueden agregar sub-módulos al espacio de nombres global. (La anidación adicional ralentizará el rendimiento y agregará una complejidad innecesaria). Se pueden usar nombres más largos si los choques de nombres son un problema:
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();