Notas:
- namespacing es una buena práctica ya que tiene menos probabilidad de tener nombres en conflicto con otros scripts. De esta manera, solo su espacio de nombre debe ser único, pero múltiples espacios de nombre pueden tener las mismas funciones en ellos.
- jQuery SÍ usa el espacio de nombres, y no necesita el complemento. El objeto jQuery en sí es un espacio de nombres. . . Cualquier función dentro de jQuery está 'espaciada por nombre' en el objeto jQuery. Esto es cierto para cualquier objeto de JavaScript.
En respuesta al comentario de Amir:
YUI logra namespacing mediante la adición de una variable al objeto YUI donde la variable añadida es también un objeto. Su función de espacio de nombres lo construye por usted.
var lib = {
util:{},
widget:{},
tool:{}
};
//creates a function named reset in the lib.util namespace
lib.util.reset = function() {};
//creates a function named reset in the lib.widget namespace
lib.widget.reset = function() {};
En jQuery, se agrega a la jQuery.fn
(o $.fn
si utiliza $
para jQuery espacio de nombres()
No necesita espacios de nombres, solo tiene módulos con su '' –
Raynos
¿Qué es el cargador de módulos? – Amir
['requireJS'] (http://requirejs.org/) define la palabra clave' require' para cargar un módulo y una palabra clave 'define' para definir uno. Utiliza _zero_ alcance global. También hay otros cargadores de módulos, vaya a buscarlos usted mismo;) – Raynos