js - 04 JS 数据类型-number类型

number类型

包含:常规数字、NaN

NaN

not a number : 不是一个数,但它隶属于数字类型

NaN != NaN : 与任何值都不相等包括自己,所以不能用相等的方式判断是否为有效数字

isNaN

检测一个值是否为有效数 ? return false : return true
console.log(isNaN(10)) => false
console.log(isNaN(‘AA’)) => true
*console.log(isNaN(‘10’)) => false

在使用isNaN进行检测的时候,首先会验证检测的值是否为数字类型,如果不是,先基于number()方法把值转化为数字类型,然后再检测

把其他类型转换成数字类型

number([val])

数字

* console.log(Number('12.5'))     => 12.5
* console.log(Number('12.5px'))   => NaN
* console.log(Number('12.5.1'))   => NaN
* console.log(Number(''))         => 0  

布尔

* console.log(Number(true)) => 1
* console.log(Number(false)) => 0

null

* console.log(Number(null)) => 0

undefined

* console.log(Number(undefined)) => NaN
parseInt/parseFloat([val],[进制])

转换数字的方法,对于字符串来说,其是从左到右依次查找有效数字字符,知道遇到非有效数字时,停止查找(不管后面是否含有数字),再将找到的数字返回

>let a = 12.5
>console.log(Number(a)) => NaN
>console.log(parseInt(a)) => 12
>console.log(parseFloat(a)) => 12.5
>console.log(parseFloat(‘width: 12.5px’)) => NaN

把引用数据类型转换成数字,先把它基于toString方法转化成为字符串,然后再转化为数字

{}
console.log(Number({})) => NaN
console.log(Number({name : 'Viking'})) => NaN
{}/{xxx: 'xxx'}.toString() => "[object object]" => NaN
[]
console.log(Number([])) => 0
console.log(Number([12])) => 12
console.log(Number([12, 13])) => NaN
[].toString() => "" => 0
[xx].toString() => "xx" => xx
[xx, xx].toString() => "xx, xx" => NaN(因为有非有效数字字符',')
== 进行比较时,可能会出现将
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值