JS中的NaN和isNaN

isNaN(xxxx)  判断xxx是否为非数字, 

 检测机制:如果xxx是数字型,返回false;

如果xxx是非数字类型,用Number(xxx) 转换,转换成数字,返回false,转换成NaN,返回true

这里要注意转换用的是 Number(xxx),而不是parseFloat() 或者 parseInt()

区别:

1 xxx为字符串类型

Number:出现任意非有效数字字符,结果就是NaN; 空字符串===>0

parseFloat() 或者 parseInt(): 从字符串最左边字符开始查找有效数字字符,并且转换为数字,但是一但遇到一个非有效数字字符,查找结束;空字符串===>NaN
 

2 xxx 为boolean

number: true ==>1 , false ===>0

parseInt:   true ==>NaN , false ===>NaN

 

number('')   0         number(true)   1           number(false)  0          number("111111aaaa")  NaN

parseInt('')  NaN    parseInt(true)   NaN     parseInt(false)  NaN    parseInt("11111aaa")   11111

 

综上: isNaN('') = false  因为Number('')  = 0

 isNaN(true) =  false   isNaN(false) =  false 

 

注意:

1 NaN 和 任何元素都是不相等的,包括它自己

NaN == NaN   false

parseInt('')  == NaN  false  

也就是说 不要写任何 xxxxx == NaN 的表达式,因为它永远是false

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值