113 votes

javascript undefined comparer

Ok, voici ma question: en javascript, vous pouvez déclarer une variable et si elle n'est pas définie, vous pouvez appliquer variable == undefined , je le sais mais comment pouvez-vous comparer une valeur que vous ne connaissez pas encore si elle est dans la mémoire de la CPU . J'ai une classe qui est créée lorsque l'utilisateur clique sur un bouton. Avant cela, la classe n’était pas définie, elle n’existait nulle part. Comment puis-je la comparer?

Existe-t-il un moyen de ne pas utiliser try{}catch(e){} ?

209voto

Makram Saleh Points 4865

Le meilleur moyen est de vérifier le type , car undefined - null - false est une tâche délicate dans JS. Alors:

 if(typeof obj !== "undefined") {
    // obj is a valid variable, do something here.
}
 

Notez que typeof renvoie toujours une chaîne et ne génère pas d'erreur si la variable n'existe pas du tout.

76voto

Timmy Points 491
 if (obj === undefined)
{
    // Create obj
}
 

Si vous effectuez une programmation JavaScript intensive, prenez l'habitude d'utiliser === et! == lorsque vous souhaitez effectuer une vérification spécifique au type.

De plus, si vous utilisez assez de javascript, je vous suggère de faire exécuter du code via JSLint http://www.jslint.com. Cela peut sembler un peu draconien au début, mais la plupart des choses que JSLint vous prévient finiront par arriver retour pour te mordre.

2voto

Delan Azabani Points 33013
 if (document.getElementById('theElement')) // do whatever after this
 

Pour les choses indéfinies qui génèrent des erreurs, testez le nom de la propriété de l'objet parent au lieu du nom de la variable - so au lieu de:

 if (blah) ...
 

faire:

 if (window.blah) ...
 

0voto

Mr.Hunt Points 3753

!undefined est vrai en javascript. Par conséquent, si vous souhaitez savoir si votre variable ou votre objet n'est pas défini et souhaitez effectuer des actions, vous pouvez procéder de la manière suivante:

 if(<object or variable>) {
     //take actions if object is not undefined
} else {
     //take actions if object is undefined
}
 

-2voto

Thevs Points 1894
if (!obj) {
    // object (not class!) doesn't exist yet
}
else ...

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