Maritere:
Si intentas evaluar una variable que no ha sido declarada, ocurrirá un error en tiempo de ejecución. Si evaluas una variable que ha sido declarada, pero que no le ha sido asignado un valor, obtendrás undefined. Al evaluar una variable que tiene asignado un valor, esta devolverá true siempre que el valor contenido no sea 0, null, undefined o una cadena vacía "".
Entonces, si se trata de saber si tiene o no un valor útil la variable declarada, puedes evaluar la variable en un if.
Código:
<script>
//el bloque de acciones será ejecutado siempre que el contenido
//de la variable no sea 0, null, undefined, "", o no tenga nada
//asignado. Si la variable no ha sido declarada, se produce un error.
if (variable) {
acciones
}
</script>
Pero si debe saber si existe o no la variable, puedes usar el operador typeof. Este devuelve una cadena que representa el tipo de datos contenido en la variable.
Código:
<script>
var variable1 = "Hola";
var variable2 = 58;
var variable3 = new Array();
var variable4 = new Date();
tipo = typeof variable1; //tipo = "string"
tipo = typeof variable2; //tipo = "number"
tipo = typeof variable3; //tipo = "object"
tipo = typeof variable4; //tipo = "object"
//variable5 no ha sido declarada, evaluarla causaría un error,
//pero tratar de obtener el tipo de datos de una variable inexistente
//devuelve "undefined"
tipo = typeof variable5; //tipo = "undefined"
//esto sí puedes usarlo en un condicional
if (typeof variable5 != "undefined"){
acciones
}
</script>
Espero que te sirva esta explicación. Saludos.