Duplication possible:
détection d'une propriété d'objet non définie dans JavaScript
javascript non défini comparer
Comment pouvons-nous ajouter une vérification pour une variable non définie, comme:
function A(val) {
if (val == undefined)
// do this
else
// do this
}
javascript
jquery
undefined
Gaurav
la source
la source
Réponses:
La bibliothèque JQuery a été développée spécifiquement pour simplifier et unifier certaines fonctionnalités JavaScript.
Cependant, si vous avez besoin de comparer une variable à une
undefined
valeur, il n'est pas nécessaire d'inventer une méthode particulière, car JavaScript a untypeof
opérateur, qui est simple, rapide et multiplateforme:Il renvoie une chaîne indiquant le type de la variable ou d'un autre opérande non évalué. Le principal avantage de cette méthode, par rapport à
if (value === undefined) { ... }
, est qu'elletypeof
ne lèvera jamais d'exception si la variablevalue
n'existe pas.la source
("#myId")
, assurez-vous de ce dont vous avez vraiment besoin: a.typeof ("#myId")=== "undefined"
b. Ou:typeof ("#myId").val() === "undefined"
("#myId")
n'est rien d'autre qu'une constante de chaîne . Il sera toujours défini et aura un type de"string"
. Si vous voulez dire un objet jQuery réel créé avec$("#myId")
, il sera toujours défini comme"object"
(si vous avez correctement lié jQuery). L'existence d'un élément DOM avec IDmyId
peut être évaluée avecif ($("#myId").length > 0) { ... }
, tandis que vérifier si sa valeur n'est pas vide peut être fait avecif ($("#myId").val()) { ... }
. Aucune de ces clauses ne se rapporte réellement au sujet de cette question.value === undefined
une exception si lavalue
variable n'existe pas. C'est donc à vous de décider quoi utiliser dans la vraie vie.Dans ce cas, vous pouvez utiliser une
=== undefined
comparaison:if(val === undefined)
Cela fonctionne car
val
il existe toujours (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, vous devrez l'utiliser
if(typeof val === 'undefined')
pour éviter une exception au cas oùval
elle n'existerait pas.la source
Notez que typeof renvoie toujours une chaîne et ne génère pas d'erreur si la variable n'existe pas du tout.
la source
===
place de==
Je sais que je suis en retard pour répondre à la fonction mais jquery a une fonction de construction pour le faire
Reportez-vous au document API jquery de jquery.type https://api.jquery.com/jQuery.type/ pour le même.
la source
Vous pouvez utiliser une technique de raccourci pour vérifier si elle est indéfinie ou nulle
J'espère que ceci vous aidera
la source
la source
quand je teste "
typeof obj === undefined
", lealert(typeof obj)
retourobject
, même si obj n'est pas défini. Puisque obj est le type deObject
son retourObject
, pasundefined
.Donc, après des heures de tests, j'ai opté pour la technique ci-dessous.
Je ne sais pas pourquoi la première technique n'a pas fonctionné, mais je fais mon travail avec cela.
la source
Si vous avez le nom de l'élément et non l'identifiant, nous pouvons effectuer la vérification non définie sur tous les éléments de texte (par exemple) comme ci-dessous et les remplir avec une valeur par défaut, par exemple 0.0:
la source
Je ne suis pas sûr que ce soit la meilleure solution, mais cela fonctionne bien:
la source
essayez ceci ~ vérificateur de tous types
la source
Vous pouvez utiliser deux voies 1)
if ( val == null )
2)if ( val === undefine )
la source