浅析JS中变量前面的加号 + 的含义

javascript 中经常会看到在变量前面有个加号 + ,它有什么用处呢?其实很简单,就是把变量转换成 number 类型(另外,变量 - 0 也是把变量的值转为数值的一种写法)。话不多说,我们先看下面的几个例子,以便帮助大家直观的理解:

// null:返回 0
console.info(+null) // => 0

// undefined:返回 NaN
console.info(+undefined) // => NaN

// 获取当前的时间戳,相当于`new Date().getTime()`
console.info(+new Date())

// 布尔型转换为整型:true 返回 1,false 返回 0
console.info(+true) // => 1
console.info(+false) // => 0

// 空字符串:返回0
console.info(+'') // => 0

// 忽略前面的 0
console.info(+'010') // => 10

// 16进制转换成 10进制
console.info(+'0x3E8') // => 1000

// 科学计数法自动解析
console.info(+'1e3') // => 1000
console.info(+'1e-3') // => 0.001

// 无法解析的格式:返回 null
console.info(+'1,000') // => NaN

到这里,大家应该都理解了吧,其实就是相当于

Number(value)

会将其按照Number函数的规则转换为数值或者NaN,规则大概如下:

  • Boolean:true返回1,false返回0
  • 数据值,直接返回
  • null,返回0
  • undefined,返回NaN
  • 对于字符串,将其转换为十进制数值,会忽略前面的0(16进制除外),空字符串返回0,浮点数会返回浮点数值。其他格式字符串(无论是否数字开头,返回NaN,字符串中好几个小数点,返回NaN)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

儒雅的烤地瓜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值