Maison > interface Web > js tutoriel > Quelle est la différence entre isNaN et Number.isNaN en js

Quelle est la différence entre isNaN et Number.isNaN en js

青灯夜游
Libérer: 2020-11-17 18:18:07
original
2712 Les gens l'ont consulté

Différence : Number.isNaN n'a pas de comportement de conversion de type, tandis que isNaN tentera de convertir le paramètre en type Number. isNaN détermine uniquement si le paramètre entrant peut être converti en nombre, et ne détermine pas strictement s'il est égal à NaN tandis que Number.isNaN détermine si le paramètre entrant est strictement égal à NaN ;

Quelle est la différence entre isNaN et Number.isNaN en js

Tutoriel recommandé : "Tutoriel vidéo JavaScript"

isNaN

Lorsque nous passons un paramètre à isNaN, son intention initiale est d'essayer de convertir le paramètre en type Number via la méthode Number(). S'il réussit, il renvoie. false, s'il échoue, il renvoie vrai.

IsNaN détermine donc uniquement si le paramètre entrant peut être converti en nombre, et ne détermine pas strictement s'il est égal à NaN.

Exemple :

Number('测试')
Copier après la connexion

Étant donné que "test" n'est pas converti avec succès en type Number, le code suivant renvoie true

console.log(isNaN('测试')) //true
Copier après la connexion

Number. isNaN

détermine si le paramètre transmis est strictement égal à NaN (c'est-à-dire ===).

Alors, dans quelles circonstances Number.isNaN est-il généralement utilisé ?

Lorsque deux variables sont opérées, nous pouvons utiliser Number.isNaN pour déterminer si sa valeur est NaN

console.log(Number.isNaN(1/'测试')); //输出true
Copier après la connexion

La différence entre les deux

La plus grande différence entre Number.isNaN et isNaN est que Number.isNaN n'a pas de comportement de conversion de type.

console.log(isNaN('测试')) //true
console.log(Number.isNaN('测试')) //false
Copier après la connexion

Dans le code ci-dessus, la chaîne "test" est transmise, mais pourquoi les résultats sont-ils différents ? La raison est la suivante :

isNaN tente de convertir la chaîne "test" en type Number via la méthode Number, mais la conversion échoue car le résultat de Number('test') est NaN, donc il renvoie finalement true .

La méthode Number.isNaN détermine uniquement strictement si les paramètres entrants sont tous égaux à NaN (« test » === NaN). Bien sûr, les chaînes ne sont pas toutes égales à NaN, donc elle renvoie false.

Pour plus de connaissances liées à la programmation, veuillez visiter : Enseignement de la programmation ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal