【js致死点】数值
2019-02-25 本文已影响0人
南方帅
function
parseInt
将字符串数字转化成按照进制选项 转化成对应数值 了解更多
- 正常使用
parseInt("0x10") //16
parseInt("0111") //111
- BUG
parseInt(1000000000000000000000.5) // 1
// 等同于
parseInt('1e+21') // 1
parseInt(0.0000008) // 8
// 等同于
parseInt('8e-7') // 8
function
parseFloat
是将数字字符串 转成数值
- VS function
Number()
同Number()
在使用上有很多相似的地方。但是parseFloat()
可以忽略字符串
parseFloat(true) // NaN
Number(true) // 1
parseFloat(null) // NaN
Number(null) // 0
parseFloat('') // NaN
Number('') // 0
parseFloat('123.45#') // 123.45
Number('123.45#') // NaN
-
Number()
非正常使用
如果不加类型判断的话 你总会收获很多意外的结果
所以判断的时候 最好加上typeof
Number([]) //0
Number(['123']) //123