Cómo manejar nulos y no definidos en javascript

Preguntado hace 1 año

Juan Maroto
Votos
PositivosNegativosTotal
5 0 5
113 Visualizaciones
Compártelo: Compártelo en twitterCompártelo en Facebook

Hola, tengo una variable, pongamos que se llama variable1, estoy teniendo problemas porque me hace cosas raras si no tiene valor, a veces me da que sí es nula, otras que no, pero tampoco lo tiene y si lo miro está undefined, no veo claro cual es la diferencia de una y otra... En cualquier caso para mí son sin valor, ¿hay alguna función de javascript que me diga que es algo, vamos que no es ni nula ni sin definir?

Actualizando datos

2 Respuestas

Hace 1 año

Jose Villalobos

Editada hace 1 año

Javier Suero
Votos
PositivosNegativosTotal
404

Buenas Juan,

Para comprobar si una variable está definida un simple if (variable) te debería servir. En el caso de no estar definida no entrarás a la ejecución y listo.

Esta función es otra de las opciones interesantes que se encuentran por ahí:

function isDefined( variable) { return (typeof(window[variable]) != "undefined");}

Un saludo!

Cerrar

Hola, José, te he modificado la respuesta para meter el código entre las etiquetas pre y code, espero que no te moleste, aprovecho para darte la bienvenida :) Un saludo, Javi. Javier Suero hace 1 año
Gracias, José, con eso pillo los undefined, luego con un != null quito los nulos. Juan Maroto hace 1 año

Hace 1 año

Ángel Luis Quesada

Editada hace 1 año

Javier Suero
Votos
PositivosNegativosTotal
404

El tema de las variables nulas en javascript es, al menos, curioso, la función que te indica José está bien (aunque el simple if puede que te falle si usas frameworks como jQuery o mootools).

La forma más básica y que siempre funciona para comprobar si una variable es nula es preguntando por su longitud.

http://www.w3schools.com/jsref/jsreflengthstring.asp

El if debería ser algo como:

if (myVar.length != 0)
{

}

Para mootools tienes por ejemplo la función $chk() y en jQuery usan el .length para comprobar si es nulo o no.

Cerrar

Hola, Ángel, he modificado poner el enlace como enlace (ya que el editor además hace extraños con los guiones bajos) y metiendo el código entre las etiquetas pre y code, también darte la bienvenida, Javi. Javier Suero hace 1 año

Tu respuesta

Confirmación

Cerrar

Si sales ahora, perderás los cambios. ¿Estás seguro de querer salir?

Para participar en Babelias, debes estar convenientemente validado. Si ya eres usuario inicia sesión, si no lo eres, te puedes registrar.

Dar una respuesta

Trata de ser descriptivo, usa al menos 25 caracteres