parseInt()
和parseFloat()
也是把其余数据类型转换为number类型的。然而它们的解决原理和Number()
齐全不一样。
它们是把字符串类型转换为数字类型,如果解决的值不是字符串,须要先转换为字符串,而后再去转换为number类型。
它们的转换规则是:从字符串最右边开始查找,把找到的有效数字字符转换为数字,始终遇到一个非有效数字字符为止,则完结查找。
示例代码如下:
console.log(Number('12px')) // => NaNconsole.log(parseInt('12px')) // => 12console.log(parseInt('12px345')) // => 12console.log(parseInt('width: 12px')) // => NaNconsole.log(parseInt('12.5px')) // => 12console.log(parseFloat('12.5px')) // => 12.5 parseFloat只比parseInt多辨认一个小数点console.log(Number(true)) // => 1console.log(parseInt(true)) // => 先把布尔true转换为字符串'true' parseInt('true') => NaNconsole.log(parseInt(NaN)) // => NaNconsole.log(Number(null)) // => 0console.log(parseInt(null)) // => parseInt('null') => NaN