美文网首页
Number类型(NaN和isNaN)

Number类型(NaN和isNaN)

作者: sna_ | 来源:发表于2020-08-17 20:38 被阅读0次

1.number类型

NaN:NaN属性代表一个“不是数字”的值。这个特殊的值是因为运算不能执行而导致的,不能执行的原因要么是因为其中的运算对象之一非数字(例如, "abc" / 4),要么是因为运算的结果非数字(例如,除数为零)。

虽然 NaN 意味着“不是数字”,但是它的类型是 Number!

console.log(typeof  NaN === "number"); //  "true"

注意: NaN 和任何东西比较——甚至是它自己本身!——结果是false:

2.isNaN: 检测当前值是否不是有效数字,返回true代表不是有效数字,false是有效数字

isNaN(null) //false   

isNaN(isNaN) //true   

isNaN(undefined) //true 

isNaN(true) //false 

isNaN(false) //false

3.isNaN检测机制:

1.首先验证当前要检测得值是否为数字类型,如果不是浏览器会默认的把值转换成数字类型, 把非数字类型的值转换成数字,其他基本类型转换为数字,直接用number这个方法转换

字符串转数字:

Number('13') -> 13

Number('13px') -> NaN 如果当前字符串中出现任意一个非有效数字字符,结果则为NaN

Number('13.5') -> 13.5 可以识别小数

布尔转数字:

Number(true)->1

Number(false)->0

其他:

Number(null) -> 0

Number(undefined) -> NaN

对象:

({}).toString() -> '[object  object]' ->NaN

数组:

[12,13].toString() ->'12,13'->NaN    [12].toString() ->'12'->12

正则:

/^$/.toString()->'/^$/' ->NaNNumber('')->0 

[].toString()->' '  => isNaN([])->false 

先把[] 转成字符串''  字符串转成数数字是0 ,所以最后的结果:  isNaN(0) 是false

4.当前检测的值已经是数字类型,是有效数字返回false,不是返回true(数字类型中只有NaN不是有效数字,其余都是有效数字)

parseInt/ parseFloat 等同于number 也是为了把其他类型的值转换为数字类型

parseInt 把一个字符串中的整数部分解析出来,从字符串最左边字符开始找有效数字字符,并转换为数字,

parseInt('13.5px') =>13

parseFloat把一个字符串中的小数(浮点数)部分解析出来

parseFloat('13.5px')=>13.5

相关文章

  • Number类型(NaN和isNaN)

    1.number类型 NaN:NaN属性代表一个“不是数字”的值。这个特殊的值是因为运算不能执行而导致的,不能执行...

  • ES6之数值的扩展(上)

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

  • 2018.5.10 js笔记

    一、number+undefined=NaN(not a number)作用:判断一个非数字isNaN:是 不是一...

  • js 基础

    0/0 ==> NaN(Not a Number)可以通过isNaN()检测值是否为NaN 转意符 ' 单引号\n...

  • Number数据类型以及常用的方法

    Number数据类型 NaN --》not a number任何关于NaN的操作返回的都是NaN如:NaN+1--...

  • NaN是什么数据类型

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

  • js笔记十一之数据类型转换

    数据类型转换 把其他数据类型转换为number isNaN , Number , parseInt , parse...

  • JavaScript基础学习(三)-number类型

    number数字类型 包含:常规数字、NaN NaN not a number: 不是一个数,但它属于数字类型Na...

  • JavaScript -- NaN

    NaN是一个number类型特点 和NaN做运算返回 NaN NaN和任意一个对象都不相等包括NaN

  • NaN和isNaN

    刚认识NaN时,脑子很明白NaN的意思是:不是一个数(not a number)。 var...

网友评论

      本文标题:Number类型(NaN和isNaN)

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