Comment puis-je tester si une variable a une valeur en JavaScript?
Je veux tester si une variable JavaScript a une valeur.
var splitarr = mystring.split( " " );
aparam = splitarr [0]
anotherparam = splitarr [1]
//.... etc
Toutefois, la chaîne peut ne pas avoir assez d'entrées plus tard, je veux le tester.
if ( anotherparm /* contains a value */ )
Comment puis-je faire cela?
OriginalL'auteur justintime | 2009-03-04
Vous devez vous connecter pour publier un commentaire.
En général c'est une sorte de zone grise... qu'entendez-vous par "a une valeur"? Les valeurs
null
etundefined
sont des valeurs légitimes que vous pouvez affecter à une variable...La fonction String
split()
retourne toujours un tableau il faut donc utiliser lalength
propriété du résultat de comprendre lequel des indices sont présents. Les Indices de gamme aura la valeurundefined
.Mais techniquement (en dehors du contexte de
String.split()
), vous pourriez faire ceci:bien sûr, qui répond à sa question de justesse. La première est techniquement la meilleure façon de tester (2e échoue, 3ème des œuvres, mais des "undefined" peuvent être réaffectés)
OriginalL'auteur Jason S
Ce n'est pas de travailler efficacement avec des valeurs null
OriginalL'auteur James Curran
Une chaîne vide évalue à FALSE dans le JavaScript de sorte que vous pouvez faire:
OriginalL'auteur James
vous pouvez vérifier le nombre de charactors dans une chaîne de caractères par:
OriginalL'auteur JD Isaacks
Une astuce consiste à utiliser le
or
opérateur de définir une valeur si la variable n'existe pas. Ne pas utiliser si vous êtes à la recherche booléenne "true
" ou "false
"Cela empêche de lancer une erreur si la variable n'existe pas, et vous permet de le régler à une valeur par défaut, ou celui que vous choisissez.
OriginalL'auteur Diodeus - James MacFarlane
Nombreuses réponses ci-dessus, et vous savez comment vérifier la valeur de la variable, donc je ne vais pas le répéter.
Mais, la logique de ce que vous essayez d'écrire, peut-être mieux écrit avec une approche différente, c'est à dire par la plutôt de regarder la longueur de la division de la matrice de l'affectation à une variable le tableau du contenu et la vérification.
c'est à dire
if(splitarr.length < 2)
alors évidemmentanotherparam
est sûrement "ne contenant pas de valeur".Donc, au lieu de le faire,
que vous pouvez faire,
OriginalL'auteur Real Red.