que estoy haciendo un poco de experimentación con esta línea de JavaScript malicioso: var undefined = true;
var undefined = true;
Cada variable no inicializada en JavaScript tiene el valor de undefined
que es sólo una variable que contiene el valor especial de 'undefined'
, por lo que el siguiente debe ejecutar el alert
:
var undefined = true,
x;
if (x) {
alert('ok');
}
Pero no es así, y mi pregunta es ¿por qué?
En la experimentación, he intentado lo siguiente:
var undefined = true,
x = undefined;
if (x) {
alert('ok');
}
Esta vez, se ejecuta la alert
.
Así que mi pregunta es ... ya que en el primer fragmento x
contiene undefined
(porque no está inicializado), ¿por qué no se ejecutó el alert
? Lo extraño es que cuando afirma explícitamente que es x
undefined
(x = undefined
), el alert
ejecutados ...
Hehe; ¿Qué pasaría si la variable 'undefined' fuera el valor' undefined'? – Pindatjuh
@Pindatjuh: lo mismo que si la variable tuviera otro nombre. No hay nada especial acerca de una variable llamada 'undefined'. – dtb