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
Math.log(-1) // NaN Math.sqrt(-1) // NaN Math.acos(2) // NaN
NaN
NaN + 1 // NaN 10 / NaN // NaN
2. 注意点
NaN
是唯一一个和自身不相等的值:
NaN === NaN // false
3. 如何辨别NaN
我们可以使用全局函数isNaN()
来判断一个数值是不是一个非数字(并不是用来判断是不是NaN
这个值):
isNaN(NaN) // true isNaN(10) // false
为什么说isNaN()
不是用来判断是不是NaN
这个值的呢?因为isNaN
对非数字不起作用,它首先做的就是把这些值转换成数字,转换的结果可能为NaN
,然后函数会错误地返回true
:
isNaN('abc') // true
所以我们想确定这个一个值是为NaN
,可以使用以下两种方法:
isNaN()
和typeof
结合来判断function isValueNaN(value) { return typeof value === 'number' && isNaN(value) }
NaN
1. Génération de NaN : function isValueNaN(value) { return value !== value }
rrreee
rrreeeRemarqueNaN
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 valeursen 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 : 🎜isNaN ()
et typeof
sont combinés pour déterminer 🎜🎜rrreeeNaN
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!