Heim > Web-Frontend > js-Tutorial > Hauptteil

一文聊聊JavaScript中的NaN

青灯夜游
Freigeben: 2022-10-24 09:19:44
nach vorne
1665 Leute haben es durchsucht

一文聊聊JavaScript中的NaN

JavaScript中,NaN是一个特殊的数字值(typeof NaN的结果为number),是not a number的缩写,表示不是一个合法的数字。

1. NaN的产生:

  • 一个不能被解析的数字
Number('abc') // NaN
Number(undefined) // NaN
Nach dem Login kopieren
  • 失败的操作
Math.log(-1) // NaN
Math.sqrt(-1) // NaN
Math.acos(2)  // NaN
Nach dem Login kopieren
  • 一个运算符为NaN
NaN + 1 // NaN
10 / NaN  // NaN
Nach dem Login kopieren

2. 注意点

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

NaN === NaN  // false
Nach dem Login kopieren

3. 如何辨别NaN

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

isNaN(NaN)  // true
isNaN(10)  // false
Nach dem Login kopieren

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

isNaN('abc')  // true
Nach dem Login kopieren

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

  • 方法一:将isNaN()typeof结合来判断
function isValueNaN(value) {
	return typeof value === 'number' && isNaN(value)
}
Nach dem Login kopieren
  • 方法二:值是否与本身不相等(NaN唯一有这样特征的值)
function isValueNaN(value) {
	return value !== value
}
Nach dem Login kopieren

【相关推荐:javascript视频教程编程视频

Das obige ist der detaillierte Inhalt von一文聊聊JavaScript中的NaN. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!