parseInt()
和parseFloat()
也是把其他数据类型转换为number类型的。但是它们的处理原理和Number()
完全不一样。
它们是把字符串类型转换为数字类型,如果处理的值不是字符串,需要先转换为字符串,然后再去转换为number类型。
它们的转换规则是:从字符串最左边开始查找,把找到的有效数字字符转换为数字,一直遇到一个非有效数字字符为止,则结束查找。
示例代码如下:
console.log(Number('12px')) // => NaN
console.log(parseInt('12px')) // => 12
console.log(parseInt('12px345')) // => 12
console.log(parseInt('width: 12px')) // => NaN
console.log(parseInt('12.5px')) // => 12
console.log(parseFloat('12.5px')) // => 12.5 parseFloat只比parseInt多识别一个小数点
console.log(Number(true)) // => 1
console.log(parseInt(true)) // => 先把布尔true转换为字符串'true' parseInt('true') => NaN
console.log(parseInt(NaN)) // => NaN
console.log(Number(null)) // => 0
console.log(parseInt(null)) // => parseInt('null') => NaN
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。