2009-12-19 6 views

Respuesta

18

no existe el concepto oficial de un espacio de nombres en Javascript como existe en C++. Sin embargo, puede ajustar funciones en objetos JavaScript para emular espacios de nombres. Por ejemplo, si desea escribir una función en un "espacio de nombres" llamada MyNamespace, es posible hacer lo siguiente:

var MyNamespace = {}; 

MyNamespace.myFunction = function(arg1, arg2) { 
    // do things here 
}; 

MyNamespace.myOtherFunction = function() { 
    // do other things here 
}; 

Entonces, para llamar a esas funciones, podría escribir MyNamespace.myFunction(somearg, someotherarg); y MyNamespace.myOtherFunction();.

También debo mencionar que hay muchas maneras diferentes de hacer espacios de nombres y cosas de clase en Javascript. Mi método es solo uno de esos muchos.

Para obtener más información, también puede consultar la pregunta this.

+5

Una primera letra capital generalmente implica que es un constructor. Puede ser mejor usar 'myNamespace' en su lugar. –

+0

Creo que es solo una cuestión de estilo de codificación personal, realmente. Siempre utilizo las primeras letras para nombres de clases y constructores. En este caso, 'MyNamespace' está actuando como una clase. –

2

Actualmente, ninguna implementación de JavaScript admite espacios de nombres, si se refiere a espacios de nombres ECMAScript 6/JavaScript 2.

Si se refiere a cómo se realiza el espaciado de nombres en la actualidad, es solo el uso de un objeto y poner todos los métodos que quiera definir en él.

var myNamespace = {}; 
myNamespace.foo = function() { /*...*/ }; 
myNamespace.bar = function() { /*...*/ }; 
Cuestiones relacionadas