A menudo veo un objeto global definido en código JavaScript para actuar como un espacio de nombres.Javascript Global Objects
var MyNS = {a: function() {}, ... };
Pero a veces, veo la gente deja fuera la palabra clave "var" como
MyNS = {a: function() {}, ...};
Creo en los navegadores web, si no se define una variable con var, se pone en el objeto de la ventana , que actúa como un espacio de nombre global. Como ahorra unos pocos bytes de texto al no usar "var", ¿hay alguna razón para usar la palabra clave para este propósito específico?
+1 - No solo eso, es simplemente descuidado. Si desea guardar unos pocos bytes, simplemente minimice el código. – ChaosPandion
Entonces, ¿podemos también declarar la variable global por 'window.MyNS = {};' y tener exactamente la misma implicación que 'var MyNS = {};'? – c4il
@Piccolo, bueno, no exactamente * lo mismo *, 'window.MyNS = {};' creará una * propiedad * en el objeto global, mientras 'var MyNS = {};' declarará una variable, y como objeto global, es el Objeto Variable del Contexto de Ejecución Global, también se creará una propiedad global como consecuencia, le recomendaría que eche un vistazo al artículo que enlazo en la respuesta. – CMS