浅析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)

猜你喜欢

转载自blog.csdn.net/sunyctf/article/details/131273674
今日推荐