2012-02-16 15 views
8

Tengo una pregunta bastante general sobre JavaScript y las variables locales. Mi pregunta es ¿cuál es la diferencia entre lo siguiente y si hay alguna:Redefinir una variable local con var en JavaScript

function bla 
{ 
    var a = 2; // local variable 
    a = 3;  // the local variable a gets a new value 

    // Would do the following line anything different 
    // (than simply asigning this value?) 
    var a = 4; 
} 

supongo que no voy a tener dos variables locales nombrados a. En otros idiomas, esto es incluso un error. Entonces, ¿hay algún uso para esto?

Respuesta

13

Se iza cualquier uso de var dentro de una función. Los usos posteriores en la misma variable en el mismo ámbito no tienen ningún efecto.

Tiene exactamente el mismo significado que a = 4; solo.

+3

¿Hay algún costo de rendimiento en la redefinición de una variable? Me gusta declarar mis variables locales dentro de mi if, for, while, etc. para mantener el código ordenado y legible. Esto es únicamente por gusto personal (sé que el alcance de la variable está dentro de la función), y me gustaría asegurarme de que no tenga un impacto negativo en las actuaciones. –

+5

Aquí está la respuesta a mi pregunta: http://jsfiddle.net/U5Zdv/ => no hace absolutamente ninguna diferencia en términos de rendimiento en IE10 –

Cuestiones relacionadas