si je veux tester le résultat d'une expression et la fonction renverrait NaN comment pourrais-je vérifier cela?
exemples: $('amount').value.toInt()!='NaN'
^ne fonctionne pas et je suppose que la valeur retournée est pas une chaîne,
$('amount').value.toInt()!=NaN
^ne marche pas semblent fonctionner soit et celui-ci semble évident
alors comment puis-je vérifier wether la valeur retournée ce n'est pas un nombre?Quel est le mot-clé réservé pour NaN en javascript?
Répondre
La valeur NaN est définie comme n'étant pas égale à tout, y compris elle-même. Testez si une valeur est NaN avec la fonction isNaN()
, de manière appropriée. (ECMAScript 6 ajoute une fonction Number.isNan()
avec des sémantiques différentes pour les arguments qui ne sont pas des nombres, mais elle n'est pas encore prise en charge dans tous les navigateurs à partir de 2015).
Il y a deux propriétés intégrées disponibles avec une valeur NaN: la propriété NaN
globale (à savoir window.NaN
dans les navigateurs), et Number.NaN
. C'est pas un mot-clé de la langue. Dans les anciens navigateurs, la propriété NaN
pouvait être remplacée, avec des résultats potentiellement confus, mais avec le ECMAScript 5 standard it was made non-writable.
- Comme @some souligné dans les commentaires, il y a aussi la fonction globale isFinite() qui peut être utile.
merci beaucoup :) vraiment aidé + 20rep pour vous – lock
@lock, c'est 10 pour un vote et 15 pour un accepter, donc c'est 25 (à moins que les choses ont changé récemment). Et voici un autre 10, @Miles. – paxdiablo
ohw désolé, mauvais maths, merci encore à la communauté de programmation très utile – lock
L'opérateur d'égalité (== et ===) ne peut pas être utilisé pour tester une valeur par rapport à NaN. Utilisez Number.isNaN() ou isNaN() à la place.
NaN === NaN; // false
Number.NaN === NaN; // false
isNaN(NaN); // true
isNaN(Number.NaN); // true
la meilleure façon de vérifier le résultat de l'opération numérique contre NaN est de Aproach cette façon, exemple:
var x = 0;
var y = 0;
var result = x/y; // we know that result will be NaN value
// to test if result holds a NaN value we should use the following code :
if(result !=result){
console.log('this is an NaN value');
}
et il est fait.
l'astuce est que NaN ne peut être comparé à une autre valeur, même avec elle-même (NaN! = NaN est toujours vrai pour que nous puissions profiter de cette situation et comparer les résultats contre lui-même)
c'est JavaScript (un bon et bizarre langage)
- 1. javascript 'avec' mot réservé
- 2. Quel est le remplacement de la variable .value en javascript?
- 3. NaN en tant qu'argument spécial
- 4. Javascript: quel est le point de RegExp.compile()?
- 5. Quel est exactement le sens de "===" en javascript?
- 6. jquery: Variables return NaN
- 7. Quel est le type de contenu approprié pour JavaScript en HTML?
- 8. Le cadre UITableViewCell a la valeur NaN
- 9. Quel est le moyen le plus efficace d'obtenir le premier élément d'un tableau associatif en JavaScript?
- 10. Dojo dijit.form.NumberTextBox retournant "NaN"
- 11. Quel est le meilleur comparateur en ligne pour Windows?
- 12. Quel est le moyen le plus simple de décrémenter une date en Javascript d'un jour?
- 13. Est-ce que "sélectionné" un mot réservé dans jQuery?
- 14. Quel est le meilleur uploader de fichiers JavaScript/Flash?
- 15. Quel est le répertoire 'obj' pour .NET?
- 16. Quel est le moyen le plus court de convertir une valeur JavaScript en chaîne?
- 17. trouver quel contrôle a soumis le formulaire en javascript
- 18. quel est le codage?
- 19. Quel est le meilleur cadre pour les applets de bureau?
- 20. Quelle est la représentation interne des infor et NaN?
- 21. Quel est le meilleur code JavaScript pour créer un élément img?
- 22. Mot clé réservé dans l'énumération en C#
- 23. JavaScript pour PDF: Quel est le jeton entre deux mots utilisés par getPageNthWord()?
- 24. Quel est le meilleur framework HTML/JavaScript pour une application Flex?
- 25. Quel est le meilleur SGBD pour le travail?
- 26. Quel est le LINQ pour XML équivalent pour cette XPath
- 27. Quel est l'événement pour attraper la soumission de formulaire en Javascript?
- 28. Quel est un moyen facile d'appeler Asc() et Chr() en JavaScript pour les valeurs Unicode?
- 29. Quel est le truc pour utiliser otool sur le mac?
- 30. Quel est le meilleur moyen de résoudre les conflits de noms en JavaScript?
Il jette indéfini habituellement pour toute sorte de folie. –