JavaScript中,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
是唯一有这样特征的值)function isValueNaN(value) {
return value !== value
}
参考:《深入理解JavaScript》
原创:https://www.panoramacn.com
源码网提供WordPress源码,帝国CMS源码discuz源码,微信小程序,小说源码,杰奇源码,thinkphp源码,ecshop模板源码,微擎模板源码,dede源码,织梦源码等。专业搭建小说网站,小说程序,杰奇系列,微信小说系列,app系列小说
免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。
您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com未经允许不得转载:书荒源码源码网每日更新网站源码模板! » JS中的NaN
关注我们小说电影免费看关注我们,获取更多的全网素材资源,有趣有料!120000+人已关注
评论抢沙发