JS中的NaN产生是怎样 如何鉴别NaN
这篇文章主要介绍了“JS中的NaN产生是怎样,如何辨别NaN”相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JS中的NaN产生是怎样,如何辨别NaN文章都会有所收获,下面我们一起来看看吧。 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”的内容今天就到这,感谢各位的阅读,大家可以动手实际看看,对大家加深理解更有帮助哦。 (编辑:银川站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |