11486 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous !

Voilà, je voudrais tester en Javascript si une variable existe, et si elle est vide ou pas, l'equivalent php de isset et isempty.

Y a t il un moyen ?

Merci d'avance !
Modifié par Assimil (12 Jul 2007 - 14:52)
hello =)

pour ma part j'utilise soit


if (maVar) {
...
}


le seul soucis de ce truc c'est que si tu as une variable qui peut être égal à 0, si elle vaut 0, ça va déconner

donc on peut utiliser


if (maVar == undefined) {
...
}


mais parait-il que ce n'est pas normalement ce qu'il faudrait faire. Pour ma part je me sers de l'un ou l'autre quand ça me prend =)

après si on peut faire mieux, je suis preneur en tout cas ^^
Tu peux aussi passer par la méthode typeof :


if (typeof myVar != "undefined") {
// ta variable existe
} else {
// elle n'existe pas
}


Maintenant de là à dire laquelle est la plus rapide... Il faudrait faire des tests dans des boucles pour pouvoir chronométrer, je ferai ça et je vous le signalerai Smiley smile
Salut,
nozostan a écrit :
le seul soucis de ce truc c'est que si tu as une variable qui peut être égal à 0, si elle vaut 0, ça va déconner

Heu non, c'est un moindre souci, étant donné que ta solution va lever une exception si la variable n'existe pas... Smiley cligne

Et puis tester l'égalité avec undefined n'est pas vraiment une bonne idée :
alert(null == undefined); // true

La solution de killian avec le typeof est la seule vraiment fiable. Smiley smile