js中 is_NaN()函数的使用

摘要:isNaN() 函数用于检查其参数是否是非数字值。它是JavaScript提供的一个内置函数。这个函数使用了Number() 去转换需要判断的值。Number() 去转换值,如果有任意非数值字符存在则就不是一个数值

isNaN() 函数用于检查其参数是否是非数字值。它是JavaScript提供的一个内置函数。 


语法 :

isNaN(x)


说明: 

 (1)isNaN() 函数通常用于检测 parseFloat() 和 parseInt() 的结果,以判断它们表示的是否是合法的数字。 

 (2)也可以用 isNaN() 函数来检测算数错误,比如用 0 作除数的情况。 

 (3)如果 参数 x 是特殊的非数字值 NaN(或者能被转换为这样的值),返回的值就是 true。而如果 x 是其他值,则返回 false。 

 (4)isNaN() 是全局函数,存在隐式的类型转换;

Number.isNaN(x)

ps: Number.isNaN() 方法确定传递的值是否为 NaN,并且它是 Number类型的。它是原始的全局isNaN()方法的更强大的版本。 

Number.isNaN() 方法的参数值必须是Number类型的才能进行判断(这是基础),否则返回的都是false。

实例

检查数字是否非法:

<script>
isNaN(123);
isNaN(-1.23);
isNaN(5-2);
isNaN(0);
isNaN("Hello");
isNaN("2005/12/12");
</script>

输出:

false
false
false
false
true
true


原理:

这个函数使用了Number() 去转换需要判断的值。Number() 去转换值,如果有任意非数值字符存在则就不是一个数值。转换能力不如parseInt和parseFloat 。 


Number() 转换规律小结论:

1 字符串   只有包裹的是存数字才可以转换

2 数组会先转string 再转数值  其中数值转字符串样式是这样的[1,2,3]=>'1,2,3'  因为有逗号所以转不了。[1]=>'1' 如果数组只有一个值,是可以转数字的.

3 对象来说也是先转字符串。但是任何对象,转成的字符串都相等。{name:'yk',age:12}=>"[object Object]"  ,明显继续转数值的时候不可能

4 布尔值,最简单,false转成数值0   true 转成 1.


本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://shenqiku.cn/article/FLY_2372