js-之NaN和isNaN

NaN (not is number) 不是一个数字的意思,在js中整型和浮点数都是Number类型。

除此之外,Number还有一个特殊的值,NaN。

 

一、可能会产生NaN值的情况

1、表达式计算,

①如果一个表达式包含减号、乘号、除号、,js引擎在计算的时候,会先把表达式的各个部分转换为Number类型,(使用Number()函数转换)。如果转换失败,返回faNaN。

举例:

100 -'2a' ;// NaN

② 加号 (+) 不会将其两边的变量转化为 Number 类型,这是因为JS表达式的执行顺序是按照运算符的优先级从左到右依次进行的,如果加号 (+) 两边的变量都是 Number 类型时,才会做数字相加运算,如果其中有一个变量是字符串,则会将两边都作为字符串相加。

1 + 3 + ‘56’ = 456

1 + 3 + 5 = 9

2、类型转换

①直接使用ParseInt、ParseFloat、Number函数转化非数字的表达式,返回NaN。

②Number是转换整个数字,ParseInt和ParseFloat是转化遇到第一个非数字的前面部分。

例如

  ParseInt('123aa') //返回123

  ParseFloat('123aaa') //返回123

  Number(‘123aaa’)//返回NaN

3、如何判断一个数字是否NAN

isNaN(参数),该函数是判断这个参数使用Number函数转化后的值,所以要判断一个变量本省是否是NaN,不能使用这个函数,使用Number对象的isNaN函数。

Number.isNaN('123');// false 本身不是NaN

Number.isNaN( 'abc' ); // false 本身不是NaN
Number.isNaN(NaN); // true 本身是NaN

 

转载于:https://www.cnblogs.com/2018-05-9-ygk/p/9110266.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值