2011-07-30 17 views

Respuesta

50

nunca es "necesario" La palabra clave var. Sin embargo, si no lo usa, la variable que está declarando estará expuesta en el ámbito global (es decir, como una propiedad en el objeto window). Por lo general, esto no es lo que quieres.

Normalmente solo desea que su variable sea visible en el ámbito actual, y esto es lo que var hace por usted. Declara la variable solo en el alcance actual (aunque tenga en cuenta que en algunos casos el "alcance actual" coincidirá con el "alcance global", en cuyo caso no hay diferencia entre usar var y no usar var).

Al escribir código, se debe preferir esta sintaxis:

for(var i=0; i< array.length; i++){ 
    //bababa 
} 

O si es necesario, entonces así:

var i; 
for(i=0; i< array.length; i++){ 
    //bababa 
} 

Haciéndolo de esta manera:

for(i=0; i< array.length; i++){ 
    //bababa 
} 

. ... creará una variable llamada i en el alcance global. Si alguien más también usa una variable global i, entonces usted acaba de sobrescribir su variable.

+0

Hola, en su ejemplo, ¿tiene que registrar la variable global I en otro lugar para que se declare ámbito global, o todo lo que no se declara con var se entiende como variable global implícitamente por el motor de JavaScript? –

+0

@Chin: cualquier cosa no declarada con 'var' se entenderá implícitamente como una variable global en JavaScript, no se requiere un registro especial. – aroth

+0

Gracias por el buen consejo @aroth. mantener mis variables locales también me ayuda a recorrer el código fácilmente mientras se depura en Google Chrome. – blackhawk

0

técnicamente, nunca TIENES que usarlo, javascript irá alegremente en camino - usando tus variables incluso si no las declaras antes de tiempo.

pero, en la práctica, siempre debe usarlo cuando declare una variable. que hará que el código sea más fácil de leer y ayudará a evitar la confusión, especialmente si está usando las variables con el mismo nombre y el alcance diferente ...

var n = 23; 
function functThat() 
{ 
    var n = 32; // "local" scope 
} 
+0

¿Cuidar para explicar el voto negativo? –

+1

No lo rechacé, pero creo que las declaraciones son incorrectas. Realmente no desea que las variables globales aparezcan y se cambien al azar. sí, Virginia, Javascript realmente apesta. Pero para ayudar a aliviar eso, usa var en todas partes para hacer que tu código tenga menos errores. Realmente no tiene nada que ver con legible. – Keith

+5

La pregunta pregunta cuál es la diferencia entre usar var y no usar var, pero esta respuesta solo da consejos sobre cuándo usarla sin explicar nunca en realidad cuál es esa diferencia. – Quentin

Cuestiones relacionadas