Depende del contexto del código, pero existe una práctica de diseño común en JavaScript para encapsular variables y métodos dentro de un Espacio de nombres o Patrón de módulo. Este código puede ser un derivado de esa intención.
El razonamiento detrás del patrón de diseño del módulo se reduce a complicaciones con las variables globales y los peligros de 'cloqueos'.
Se puede producir un bloqueo cuando cualquier variable (o función) del mismo nombre se define dos veces. La segunda definición anulará la primera, y en esencia la destruirá.
Por lo tanto, es una regla de oro para envolver su código en una construcción que protege sus variables (y funciones) del espacio de nombres global. Douglas Crockford describe bien este tipo de escenarios.
Este example muestra un poco encarnación más común que se llama 'cierre':
var jspy = (function() {
var _count = 0;
return {
incrementCount: function() {
_count++;
},
getCount: function() {
return _count;
}
};
})();
Se desorienta al principio, pero una vez que lo reconoce, se convierte en una segunda naturaleza. El punto es encapsular la variable _count como un miembro privado al objeto devuelto que tiene dos métodos accesibles.
Esto es poderoso porque el espacio de nombres global ahora solo incluye una var (jspy) en oposición a una con dos métodos. La segunda razón por la que es poderosa es que garantiza que la variable de cuenta solo puede accederse mediante la lógica en los dos métodos (incrementCount, getCount).
Como dije, su código puede ser una encarnación de esta regla de oro.
De cualquier manera, es importante conocer este patrón en JavaScript porque abre la puerta a interacciones mucho más potentes entre marcos, por ejemplo, y en la carga asíncrona de ellos, como en AMD.
Aquí hay un buen ejemplo de namespace.
En resumen, hay un patrón de diseño de JavaScript avanzado que le ayudará a saberlo, y los términos relevantes son Patrón de módulo, Patrón de espacio de nombres. Los términos asociados adicionales son cierre y AMD.
Espero que ayude. ¡Todo lo mejor! Nash
Esa segunda parte del código es sintácticamente incorrecta. Tiene un extra '});'. Tal vez el código le falta algo o el error en sí es el problema? –
Hola mi error. Hice una copia rápida y pegar. Hizo la corrección. – tommi
No hay problema, simplemente cambia cómo abordar el problema es todo. Ahora voy a estar arriba-votando la conjetura de alguien (re: respuesta). –