J’ai une calculasortingce javascript qui accepte les entrées de l’utilisateur, fait des calculs et écrit le résultat dans le champ “#theResult”
Depuis que “#theResult” est mis à jour lors de la création de clé, il arrive parfois que “#theResult” renvoie Infinity, NaN ou “” jusqu’à ce que tous les champs soient remplis. Tant que tous les champs ne sont pas renseignés, je souhaite que “#theResult” renvoie 0 à la place. Voici le code:
if (theResult === Infinity || theResult === "" || theResult === NaN) { theResult === 0; } $("#theResult").val(theResult);
Le code complet est ici
Merci d’avance pour votre aide!
Vous avez utilisé theResult === 0
là où vous auriez dû utiliser theResult = 0
.
Le ===
est pour les comparaisons. Lorsque vous souhaitez modifier la valeur d’une variable, utilisez l’opérateur d’affectation =
.
Comme @zzzzBov a dit, la chose la plus simple à faire est de remplacer le tout par
theResult = isFinite(theResult) && theResult || 0; // updated
Cela dissimule cependant les subtilités de NaN
; si l’utilisateur a terminé et que le résultat est vraiment NaN
, indiquer que 0
n’est pas vraiment correct.