Solución:
No es más que un recordatorio de que si haces esto:
var x=5;
var x;
alert(x);
El resultado será 5.
Si vuelve a declarar la variable en otros idiomas, por ejemplo, el resultado será indefinido o NaN, pero no en javascript.
Puede encontrar un ejemplo de redeclaración de una variable en Google Analytics. Cuando el código de seguimiento de JavaScript es iniciado por la secuencia de comandos de Google Analytics, declara o vuelve a declarar _gaq
De este modo:
var _gaq = _gaq || [];
En otras palabras, si _gaq
ya está definido, _gaq
se “redeclara” como sí mismo. Si no está definido, se declarará por primera vez como una matriz vacía.
Esto permite que el código de seguimiento de Google Analytics sea compatible con otros scripts que pueden necesitar utilizar la variable antes de que se inicie el código de Google Analytics. Como señaló @xralf, JavaScript permite esto.
Volver a declarar una variable es útil en situaciones en las que no se puede saber si la variable ya se ha definido.
Al redeclarar una variable de forma condicional, como lo hace el código de seguimiento de Google Analytics, permite que una variable se origine de forma segura desde más de un lugar.
En este ejemplo, podría ser seguro para otro código usando el _gaq
variable para comprobar igualmente si hay un predefinido _gaq
variable. Si existe, sabe que puede usarlo. Si no existe, sabe que debe definirlo antes de intentar usarlo.
¿Por qué debería volver a declarar una variable?
No deberías. Hace que el código sea confuso.
¿Es práctico en algunas situaciones?
No.