JS中的NaN产生是怎样,如何辨别NaN
Admin 2022-11-14 群英技术资讯 475 次浏览
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
}
关于“JS中的NaN产生是怎样,如何辨别NaN”的内容今天就到这,感谢各位的阅读,大家可以动手实际看看,对大家加深理解更有帮助哦。如果想了解更多相关内容的文章,关注我们,群英网络小编每天都会为大家更新不同的知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
js多维数组变一维有哪些方法?其实多维数组转一维数组的方法有很多,下文给大家分享了一些方法和实例,有需要的朋友可以参考,另外下文还简单介绍了数组去重和排序,感兴趣的朋友就接着往下看吧。
怎样使用js实现碰撞检测?碰撞效果在很多游戏中都会使用到,下面给大家分享一个js实现碰撞的简单测试。当小物体碰撞大物体,大物体颜色改变,效果如下。
这篇文章主要为大家详细介绍了JavaScript仿淘宝放大镜效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
原型和原型链是JavaScript中的难点也是重点,下面本篇文章就来带大家搞懂原型和原型链,希望对大家有所帮助!
这篇文章主要介绍如何实现vue打开新窗口并传参,实现的具体功能就是打开一个新的窗口展示页面,同时需要传参数,但是参数不能显示在地址栏,而且刷新页面后,传的参数不会丢失。下面通过图文形式给大家分享一下如实现上述操作。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008