Comment vérifier la valeur 'undefined' dans jQuery
possibilité de dupliquer:
détection D'une propriété d'objet non définie dans JavaScript
javascript non défini comparer
comment ajouter un contrôle pour une variable non définie, comme:
function A(val) {
if (val == undefined)
// do this
else
// do this
}
11 réponses
bibliothèque JQuery a été développé spécifiquement pour simplifier et unifier certaines fonctionnalités JavaScript.
cependant, si vous devez cocher une variable par rapport à la valeur undefined
, il n'est pas nécessaire d'inventer une méthode particulière, puisque JavaScript a un opérateur typeof
, qui est simple, rapide et multiplateforme:
if (typeof value === "undefined") {
// ...
}
renvoie une chaîne de caractères indiquant le type de la variable ou d'une autre variable non évaluée. opérande. Le principal avantage de cette méthode, par rapport à if (value === undefined) { ... }
, est que typeof
ne soulèvera jamais une exception dans le cas où la variable value
n'existe pas.
Dans ce cas, vous pouvez utiliser un === undefined
comparaison: if(val === undefined)
cela fonctionne parce que val
existe (c'est un argument de fonction).
si vous voulez tester une variable arbitraire qui n'est pas un argument, c'est-à-dire qui pourrait ne pas être définie du tout, vous devez utiliser if(typeof val === 'undefined')
pour éviter une exception dans le cas où val
n'existe pas.
notez que typeof renvoie toujours une chaîne, et ne génère pas d'erreur si la variable n'existe pas du tout.
function A(val){
if(typeof(val) === "undefined")
//do this
else
//do this
}
je sais que je suis en retard pour répondre à la fonction, mais jquery ont un en fonction de création pour ce faire
if(jQuery.type(val) === "undefined"){
//Some code goes here
}
Consultez jquery API document de jquery.tapez https://api.jquery.com/jQuery.type/ pour la même chose.
vous pouvez utiliser la technique de sténographie pour vérifier si elle est non définie ou nulle
function A(val)
{
if(val || "")
//do this
else
//do this
}
espère que cela va vous aider à
quand je teste typeof obj === undefined
", le alert(typeof obj)
returning object
, même si obj n'est pas défini.
Depuis obj est le type de Object
son retour Object
, pas undefined
.
donc après des heures de test j'ai opté pour la technique ci-dessous.
if(document.getElementById(obj) !== null){
//do...
}else{
//do...
}
Je ne sais pas pourquoi la première technique n'a pas fonctionné.Mais j'ai fait mon travail à l'aide de ce.
si vous avez les noms de l'élément et non id, nous pouvons effectuer le contrôle non défini sur tous les éléments de texte (par exemple) comme ci-dessous et les remplir avec une valeur par défaut dire 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')
}
})
Je ne suis pas sûr que ce soit la meilleure solution, mais ça marche très bien:
if($someObject['length']!=0){
//do someting
}
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);
}
}
essayez ce ~ vérificateur de tous les types
vous pouvez utiliser à double sens
1) if ( val == null )
2) if ( val === undefine )