javascript - how - Cómo verificar el valor "indefinido" en jQuery
jquery undefined error (11)
En este caso, puede usar una comparación === undefined
: if(val === undefined)
Esto funciona porque val
siempre existe (es un argumento de función).
Si quisiera probar una variable arbitraria que no es un argumento, es decir, podría no estar definida en absoluto, tendría que usar if(typeof val === ''undefined'')
para evitar una excepción en caso de que val
no existiera .
Posible duplicado:
Detectar una propiedad de objeto indefinida 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
}
La biblioteca JQuery se desarrolló específicamente para simplificar y unificar ciertas funciones de JavaScript.
Sin embargo, si necesita verificar una variable contra undefined
valor undefined
, no es necesario inventar ningún método especial, ya que JavaScript tiene un operador typeof
, que es simple, rápido y multiplataforma:
if (typeof value === "undefined") {
// ...
}
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 que typeof
nunca generará una excepción en caso de que el value
variable no exista.
No estoy seguro de que sea la mejor solución, pero funciona bien:
if($someObject[''length'']!=0){
//do someting
}
Puede usar de dos formas 1) if ( val == null )
2) if ( val === undefine )
Puede usar la técnica de taquigrafía para verificar si es indefinida o nula
function A(val)
{
if(val || "")
//do this
else
//do this
}
Espero que esto te ayudará
Sé que llego tarde para responder a la función pero jquery tiene una función de compilación para hacer esto
if(jQuery.type(val) === "undefined"){
//Some code goes here
}
Consulte el documento de jquery API de jquery.type https://api.jquery.com/jQuery.type/ para el mismo.
Si tiene los nombres del elemento y no del ID, podemos lograr la verificación indefinida en todos los elementos de texto (por ejemplo) como se indica a continuación y completarlos con un valor predeterminado, por ejemplo, 0.0:
var aFieldsCannotBeNull=[''ast_chkacc_bwr'',''ast_savacc_bwr''];
jQuery.each(aFieldsCannotBeNull,function(nShowIndex,sShowKey) {
var $_oField = jQuery("input[name=''"+sShowKey+"'']");
if($_oField.val().trim().length === 0){
$_oField.val(''0.0'')
}
})
Tenga en cuenta que typeof siempre devuelve una cadena y no genera un error si la variable no existe.
function A(val){
if(typeof(val) === "undefined")
//do this
else
//do this
}
cuando estoy probando " typeof obj === undefined
", el object
devuelve la alert(typeof obj)
, aunque obj no está definido. Como obj es el tipo de Object
su Object
regresa no está undefined
.
Entonces, después de horas de prueba opté por debajo de la técnica.
if(document.getElementById(obj) !== null){
//do...
}else{
//do...
}
No estoy seguro de por qué la primera técnica no funcionó. Pero terminé mi trabajo usando esto.
function isValue(value, def, is_return) {
if ( $.type(value) == ''null''
|| $.type(value) == ''undefined''
|| $.trim(value) == ''''
|| ($.type(value) == ''number'' && !$.isNumeric(value))
|| ($.type(value) == ''array'' && value.length == 0)
|| ($.type(value) == ''object'' && $.isEmptyObject(value)) ) {
return ($.type(def) != ''undefined'') ? def : false;
} else {
return ($.type(is_return) == ''boolean'' && is_return === true ? value : true);
}
}
prueba esto ~ todo tipo de verificador
if (value === undefined) {
// ...
}