Maison > interface Web > js tutoriel > Un article pour parler de NaN en JavaScript

Un article pour parler de NaN en JavaScript

青灯夜游
Libérer: 2022-10-24 09:19:44
avant
1833 Les gens l'ont consulté

Un article pour parler de NaN en JavaScript

En JavaScript, NaN est une valeur numérique spéciale (le résultat de typeof NaN est number), qui n'est pas a Abréviation de numéro, indiquant qu'il ne s'agit pas d'un numéro légal. NaN是一个特殊的数字值(typeof NaN的结果为number),是not a number的缩写,表示不是一个合法的数字。

1. NaN的产生:

  • 一个不能被解析的数字
Number('abc') // NaN
Number(undefined) // NaN
Copier après la connexion
  • 失败的操作
Math.log(-1) // NaN
Math.sqrt(-1) // NaN
Math.acos(2)  // NaN
Copier après la connexion
  • 一个运算符为NaN
NaN + 1 // NaN
10 / NaN  // NaN
Copier après la connexion

2. 注意点

NaN唯一一个和自身不相等的值:

NaN === NaN  // false
Copier après la connexion

3. 如何辨别NaN

我们可以使用全局函数isNaN()来判断一个数值是不是一个非数字(并不是用来判断是不是NaN这个值):

isNaN(NaN)  // true
isNaN(10)  // false
Copier après la connexion

为什么说isNaN()不是用来判断是不是NaN这个值的呢?因为isNaN对非数字不起作用,它首先做的就是把这些值转换成数字,转换的结果可能为NaN,然后函数会错误地返回true

isNaN('abc')  // true
Copier après la connexion

所以我们想确定这个一个值是为NaN,可以使用以下两种方法:

  • 方法一:将isNaN()typeof结合来判断
function isValueNaN(value) {
	return typeof value === 'number' && isNaN(value)
}
Copier après la connexion
  • 方法二:值是否与本身不相等(NaN1. Génération de NaN :
    • Un nombre qui ne peut pas être analysé
    function isValueNaN(value) {
    	return value !== value
    }
    Copier après la connexion
    • Échec de l'opération

      rrreee

      rrreeeRemarque

      🎜NaN est la seule 🎜valeur qui n'est pas égale à elle-même : 🎜rrreee🎜🎜🎜Nous pouvons utiliser la fonction globale isNaN() pour déterminer si une valeur est un 🎜non-nombre🎜 (non utilisée pour déterminer si elle est Valeur NaN) : 🎜rrreee🎜Pourquoi dit-on que isNaN() n'est pas utilisé pour déterminer s'il s'agit de la valeur NaN ? Parce que isNaN ne fonctionne pas sur les non-nombres, la première chose qu'il fait est de convertir ces valeurs​​en nombres. Le résultat de la conversion peut être NaN, et. alors la fonction retournera incorrectement true : 🎜rrreee🎜Nous voulons donc nous assurer que cette valeur est NaN. Nous pouvons utiliser les deux méthodes suivantes : 🎜
        <. li>Méthode 1 : Changer isNaN () et typeof sont combinés pour déterminer 🎜🎜rrreee
        • Méthode 2 : Si la valeur n'est pas égale à elle-même ( NaN est le seul 🎜 La valeur d'une telle fonctionnalité)🎜🎜rrreee🎜【Recommandations associées : 🎜Tutoriel vidéo javascript🎜, 🎜Vidéo de 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:csdn.net
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