184 votes

Comment vérifier la valeur "indéfinie" dans jQuery ?

Duplicata possible :
Détection d'une propriété d'objet indéfinie en JavaScript
comparaison indéfinie en javascript

Comment ajouter une vérification pour une variable indéfinie, comme :

function A(val) {
  if (val == undefined) 
    // do this
  else
    // do this
}

0 votes

413voto

VisioN Points 62518

La bibliothèque JQuery a été développée spécifiquement pour simplifier et unifier certaines fonctionnalités JavaScript.

Cependant, si vous devez vérifier une variable par rapport à undefined il n'est pas nécessaire d'inventer une méthode spéciale, puisque JavaScript dispose d'une fonction typeof qui est simple, rapide et multiplateforme :

if (typeof value === "undefined") {
    // ...
}

Elle renvoie une chaîne de caractères indiquant le type de la variable ou de l'autre opérande non évaluée. Le principal avantage de cette méthode, par rapport à if (value === undefined) { ... } c'est que typeof ne lèvera jamais d'exception dans le cas où la variable value n'existe pas.

12 votes

@nahum jQuery est une bibliothèque JavaScript. Il ne s'agit pas d'un langage de programmation différent.

10 votes

Lol omg tu commentes vraiment ça ?? Je sais que c'est le même homme. Mais je suppose qu'il veut savoir s'il existe une sorte de méthode dans jQuery comme $.isUndefined(Object) ; et retourner la valeur true ou false. typeof est juste du javascript sans aucun framework.

0 votes

Un de mes problèmes était : si vous faites quelque chose comme ceci ("#myId") assurez-vous de ce dont vous avez réellement besoin : a. typeof ("#myId")=== "undefined" b. Ou : typeof ("#myId").val() === "undefined"

27voto

ThiefMaster Points 135805

Dans ce cas, vous pouvez utiliser un === undefined comparaison : if(val === undefined)

Cela fonctionne parce que val toujours existe (c'est un argument de fonction).

Si vous vouliez tester une variable arbitraire qui n'est pas un argument, c'est-à-dire qui pourrait ne pas être définie du tout, il vous faudrait utiliser if(typeof val === 'undefined') pour éviter une exception dans le cas où val n'existait pas.

16voto

Jigs Points 2606

Notez que typeof renvoie toujours une chaîne de caractères, 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
}

1 votes

Pour la comparaison de chaînes de caractères, je pense que nous devons utiliser === au lieu de ==

0 votes

@Sreeram ils font tous les deux des comparaisons, mais de manière différente... cela fonctionnera bien.

10voto

Arpita Points 1021

Je sais que je suis en retard pour répondre à la fonction mais jquery a une fonction intégrée pour faire cela.

if(jQuery.type(val) === "undefined"){
    //Some code goes here
}

Consultez le document de l'API jquery sur jquery.type. https://api.jquery.com/jQuery.type/ pour la même chose.

4voto

Rohidas Kadam Points 398

Vous pouvez utiliser une technique raccourcie pour vérifier s'il est indéfini ou nul.

 function A(val)
 {
   if(val || "") 
   //do this
 else
 //do this
 }

J'espère que cela vous aidera

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X