variable validar vacio una tiene saber propiedad objeto existe esta elemento como clase javascript debugging variables null undefined

vacio - validar si es json javascript



Compruebe si el objeto existe en JavaScript (16)

¿Cómo verifico la existencia de un objeto en JavaScript?

Los siguientes trabajos:

if (!null) alert("GOT HERE");

Pero esto arroja un error:

if (!maybeObject) alert("GOT HERE");

El error:

maybeObject no está definido.


Acabo de probar los ejemplos de TypeOf de arriba y ninguno funcionó para mí, así que en lugar de eso he usado esto:

btnAdd = document.getElementById("elementNotLoadedYet"); if (btnAdd != null) { btnAdd.textContent = "Some text here"; } else { alert("not detected!"); }


Además de verificar la existencia del objeto / variable, es posible que desee proporcionar una salida en el "peor de los casos" o al menos atraparla en una alerta para que no pase desapercibida.

Ejemplo de función que comprueba, proporciona errores alternativos y de captura.

function fillForm(obj) { try { var output; output = (typeof obj !== ''undefined'') ? obj : ''''; return (output); } catch (err) { // If an error was thrown, sent it as an alert // to help with debugging any problems alert(err.toString()); // If the obj doesn''t exist or it''s empty // I want to fill the form with "" return (''''); } // catch End } // fillForm End

También creé esto porque el objeto que le estaba pasando podría ser x, xm, xm [z] y typeof xm [z] fallaría con un error si xm no existiera.

Espero que ayude. (BTW, soy novato con JS)


Dos caminos.

typeof para variables locales

Puedes probar un objeto local usando typeof:

if (object !== "undefined") {}

ventana para variables globales

Puede probar un objeto global (uno definido en el ámbito global) inspeccionando el objeto de la ventana:

if (window.FormData) {}


Hay muchas verdades a medias aquí, así que pensé que aclaré algunas cosas.

En realidad, no se puede saber con precisión si existe una variable (a menos que desee ajustar cada segunda línea en un bloque try-catch).

La razón es que Javascript tiene un valor notorio de undefined que sorprendentemente no significa que la variable no esté definida, o que no exista undefined !== not defined

var a; alert(typeof a); // undefined (declared without a value) alert(typeof b); // undefined (not declared)

Entonces, tanto una variable que existe como otra que no lo hace, pueden informarle el tipo undefined .

En cuanto a la concepción errónea de @ Kevin, null == undefined . Se debe al tipo de coerción, y es la razón principal por la que Crockford sigue diciéndole a todos los que no están seguros de este tipo de cosas que usen siempre un operador de igualdad estricta === para probar posibles valores falsos. null !== undefined te da lo que puedes esperar. Tenga en cuenta también que foo != null puede ser una forma efectiva de comprobar si una variable no está undefined ni es null . Por supuesto, puede ser explícito, porque puede ayudar a la legibilidad.

Si restringe la pregunta para verificar si un objeto existe, typeof o == "object" puede ser una buena idea, excepto si no considera los arrays de objetos, ya que también se informará que es el tipo de object que puede dejarlo. un poco confundido. Sin mencionar que typeof null también te dará un object que simplemente es incorrecto.

El área principal en la que realmente debe tener cuidado con los typeof , undefined , null , unknown y otros son los objetos de host. No se puede confiar en ellos. Son libres de hacer casi cualquier cosa sucia que quieran. Así que tenga cuidado con ellos, verifique la funcionalidad si puede, ya que es la única forma segura de usar una función que puede que ni siquiera exista.


O bien, todos pueden comenzar a usar mi método exclusivo de existir () en su lugar y ser capaces de hacer cosas que se consideran imposibles. es decir:

Cosas como: exists("blabla") , o incluso: exists("foreignObject.guessedProperty.guessNext.propertyNeeded") también son posibles ...


Piensa que es más fácil así.

if(myobject_or_myvar) alert(''it exists''); else alert("what the hell you''ll talking about");


Puede usar de forma segura el operador typeof en variables no definidas.

Si se le ha asignado algún valor, incluido el valor nulo, typeof devolverá algo distinto de no definido. typeof siempre devuelve una cadena.

Por lo tanto

if (typeof maybeObject != "undefined") { alert("GOT THERE"); }


Puedes usar el ! operador dos veces !! :

if (!!maybeObject) alert("maybeObject exists");

¡O una vez ! porque no existe:

if (!maybeObject) alert("maybeObject does not exist");

Cuál es el !! ¿Operador (no) en JavaScript?


Puedes usar:

if (typeof objectName == ''object'') { //do something }


Si ese es un objeto global, puede usar if (!window.maybeObject)



Usted podría usar "typeof".

if(typeof maybeObject != "undefined") alert("GOT HERE");


establezca el valor del Cuadro de texto en un marco para que se integre en el marco mediante el panel con pestañas div alignmnt. Primero que todo, antes de establecer el valor necesitamos verificar el marco de paneles con pestañas seleccionado disponible o no usar los siguientes códigos:

Código Javascript:

///////////////////////////////////////// <script> function set_TextID() { try { if(!parent.frames["entry"]) { alert("Frame object not found"); } else { var setText=document.getElementById("formx").value; parent.frames["entry"].document.getElementById("form_id").value=setText; } if(!parent.frames["education"]) { alert("Frame object not found"); } else { var setText=document.getElementById("formx").value; parent.frames["education"].document.getElementById("form_id").value=setText; } if(!parent.frames["contact"]) { alert("Frame object not found"); } else { var setText=document.getElementById("formx").value; parent.frames["contact"].document.getElementById("form_id").value=setText; } }catch(exception){} } </script>


para mí esto funcionó para un objeto DOM:

if(document.getElementsById(''IDname'').length != 0 ){ alert("object exist"); }


if (maybeObject !== undefined) alert("Got here!");


if (n === Object(n)) { // code }