Posible duplicado:
detección de una propiedad de objeto indefinido en JavaScript
JavaScript indefinido comparar
Cómo podemos agregar un cheque para una variable indefinida, como:
function A(val) {
if (val == undefined)
// do this
else
// do this
}
javascript
jquery
undefined
Gaurav
fuente
fuente
Respuestas:
La biblioteca JQuery fue desarrollada específicamente para simplificar y unificar ciertas funciones de JavaScript.
Sin embargo, si necesita verificar una variable contra un
undefined
valor, no es necesario inventar ningún método especial, ya que JavaScript tiene untypeof
operador, que es simple, rápido y multiplataforma:Devuelve una cadena que indica el tipo de la variable u otro operando no evaluado. La principal ventaja de este método, en comparación con
if (value === undefined) { ... }
, es quetypeof
nunca generará una excepción en caso de que la variablevalue
no exista.fuente
("#myId")
, asegúrese de lo que realmente necesita: a.typeof ("#myId")=== "undefined"
si. O:typeof ("#myId").val() === "undefined"
("#myId")
no es más que una constante de cadena . Siempre se definirá y tendrá un tipo de"string"
. Si te refieres a un objeto jQuery real creado con$("#myId")
, siempre se definirá como"object"
(si tienes jQuery vinculado correctamente). La existencia de un elemento DOM con IDmyId
se puede evaluar conif ($("#myId").length > 0) { ... }
, mientras que se puede verificar si su valor no está vacíoif ($("#myId").val()) { ... }
. Ninguna de estas cláusulas se relaciona realmente con el tema de esta pregunta.value === undefined
generará una excepción si lavalue
variable no existe. Entonces, depende completamente de usted qué usar en la vida real.En este caso puedes usar una
=== undefined
comparación:if(val === undefined)
Esto funciona porque
val
siempre existe (es un argumento de función).Si desea probar una variable arbitraria que no es un argumento, es decir, podría no estar definida en absoluto, tendría que usarla
if(typeof val === 'undefined')
para evitar una excepción en caso deval
que no existiera.fuente
Tenga en cuenta que typeof siempre devuelve una cadena y no genera un error si la variable no existe en absoluto.
fuente
===
lugar de==
Sé que llego tarde para responder la función, pero jquery tiene una función de compilación para hacer esto
Consulte el documento de la API jquery de jquery.type https://api.jquery.com/jQuery.type/ para obtener el mismo.
fuente
Puede usar la técnica abreviada para verificar si es indefinida o nula
Espero que esto te ayudará
fuente
fuente
cuando estoy probando "
typeof obj === undefined
", elalert(typeof obj)
regresoobject
, aunque obj no está definido. Como obj es el tipo deObject
su retornoObject
, noundefined
.Entonces, después de horas de prueba, opté por la siguiente técnica.
No estoy seguro de por qué la primera técnica no funcionó, pero terminé mi trabajo usando esto.
fuente
Si tiene nombres del elemento y no ID, podemos lograr la verificación indefinida en todos los elementos de texto (por ejemplo) como se muestra a continuación y llenarlos con un valor predeterminado, digamos 0.0:
fuente
No estoy seguro de que sea la mejor solución, pero funciona bien:
fuente
intente esto ~ todo tipo de corrector
fuente
Puedes usar dos vías 1)
if ( val == null )
2)if ( val === undefine )
fuente