美文网首页
JS数字类型之NaN及isNaN

JS数字类型之NaN及isNaN

作者: 树下老大爷的小老弟 | 来源:发表于2020-04-20 22:33 被阅读0次

什么是NaN:

        NaN 就是在发生类型强制转换的时候会产生 NaN ,也就是把其他类型转换成 Number 类型时,不能转换而返回的结果。

几种转换为 Number 类型的方法及可能出现NaN情况:

        第一种转换函数:parseInt / parseFloat

                console.log(parseInt(" 我是谁 "));   console.log((" 我是谁 "));

以上两种转换函数的结果就会返回 NaN 因为转换的不是一个有效数字啊。

          第二种强制转换类型: Number()

                  console.log(Number("12px")); 返回 NaN 因为不是一个有效数字,后面有文字

            第三种变量弱类型转换:

                    var str = '012.345 ';      var x = str - 0;      console.log(x, typeof x);  // 这就是正常的了

那在JS中不管是什么都会有个类型,那 NaN 是个啥类型呢?

类型输出

这里可以看到,NaN 的类型是 Number,那既然是 Number 类型,那我用它来比较是不是 数字类型 可不可以勒,那咱们就来看一下。

NaN比较

那这里怎么返回的都是 false 呢? 并且自己连自己都不等于,NaN的英文翻译是:Not a number (不是一个数字的缩写),那居然你不是一个数字 比喻是A,我也不是一个数字 比喻是B,那么 A == B 嘛?你会发现并不相等 返回 false。

那我想判断一个 变量是不是数字类型,不能使用NaN方法,那就有了 isNaN 的出现,请看下方用法:

isNaN用法

 isNaN   返回值是 如果你是有效数字,就是返回false,这里为啥是false 请看上面 NaN 英文的翻译 ,如果你返回的不是一个有效数字就是 true。

原理相当于是:

原理

这里你会发现,判断的时候通过Number进行了一波隐式转换,才得到最终结果 false。

说到在项目中真实的用处,目前还没有遇到,但是如果你了解这个方法,遇到相关处理数据需要判断时,你就会想到它啦,以上就是本人对 NaN 及 isNaN 的相关介绍, 还有那句话:如有不对之处及不周之处请大佬们指出,也希望对一些人有所帮助,咱们下次再会!

相关文章

  • JS数字类型之NaN及isNaN

    什么是NaN: NaN就是在发生类型强制转换的时候会产生NaN ,也就是把其他类型转换成Number类型时,不能转...

  • NaN是什么数据类型

    NaN是数字类型的,但是它又可以用isNaN()检测,isNaN() 函数用于检查其参数是否是非数字值 isNaN...

  • JavaScript中常用的的内置函数

    js中常用的的内置函数 isNaN() isNaN() 函数用于检查其参数是否是非数字值。如果参数值为 NaN 或...

  • js中常用的的内置函数

    js中常用的的内置函数 isNaN() isNaN() 函数用于检查其参数是否是非数字值。如果参数值为 NaN 或...

  • javascript内置函数

    js中常用的的内置函数 isNaN() isNaN() 函数用于检查其参数是否是非数字值。如果参数值为 NaN 或...

  • 43.isNaN和Number.isNaN

    day1 -> 重学JS基础 ES5 isNaN(总结一条:除了NaN和转换之后不能成为数字的类型返回的都是tru...

  • 在vue中使用filter过滤器对数据保留两位小数的处理

    js中filter方法 扩展:isNaN() 函数用于检查其参数是否是 非数字值。如果参数值为 NaN 或字符串、...

  • JS中奇葩问题

    js 中NaN和NaN是不相等的,如果想判断一个value是否是NaN,可以使用isNaN(Value)

  • Jquery的三个函数

    IsNaN(x)函数 isNaN(x)函数用于检查其参数是否是非数字值。 返回值: 如果x是特殊的非数字值 NaN...

  • ES6之数值的扩展(上)

    Number.isNaN 我们知道isNaN曾是window下边的属性,用来判断是否是NaN(非数值))类型的。现...

网友评论

      本文标题:JS数字类型之NaN及isNaN

      本文链接:https://www.haomeiwen.com/subject/lvesihtx.html