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
}
145
demandé sur Community 2012-05-18 17:16:30

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.

318
répondu VisioN 2014-01-21 18:16:14

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.

24
répondu ThiefMaster 2012-05-18 13:24:52

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
}
14
répondu Jignesh Rajput 2012-05-18 17:27:56

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.

8
répondu Arpita 2015-09-21 13:28:27

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 à

2
répondu Rohidas Kadam 2015-06-03 10:41:44
if (value === undefined) {
    // ...
}
2
répondu sandeep kumar 2018-02-27 11:53:46

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.

1
répondu Sridhar K 2015-12-27 19:38:39

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')
    }
  })
0
répondu Yoosaf Abdulla 2015-10-14 14:29:42

Je ne suis pas sûr que ce soit la meilleure solution, mais ça marche très bien:

if($someObject['length']!=0){
    //do someting
}
0
répondu esdu 2016-02-24 09:55:54
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

0
répondu MGK 2017-07-14 02:24:09

vous pouvez utiliser à double sens 1) if ( val == null ) 2) if ( val === undefine )

0
répondu Suhag.lapani88 2018-02-27 12:00:59