1.parseInt()用于将字符串转换为整数。
- 头部空格自动去除。
- 参数先被转换为字符串,再被转换为整数。
- 遇到不能转换数值时停止,首字不能转换直接停止。
parseInt()第二个参数为被转换数的进制。
parseInt('123') // 123
parseInt(' 81') // 81
parseInt('8a') // 8
parseInt('abc') // NaN
parseInt('0x10') // 16
parseInt(0.0000008) // 8
// 等同于
parseInt('8e-7') // 8
parseInt('1000', 2) // 8
2.parseFloat()用于将一个字符串转为浮点数。
- 规则基本与parseInt一样。
parseFloat('3.14') // 3.14
parseFloat('314e-2') // 3.14
parseFloat([]) // NaN
parseFloat('FF2') // NaN
parseFloat('') // NaN
3.isNaN()用来判断一个值是否为NaN
。
- isNaN()只对数值有效,传入其他值,会被先转成数值。
NaN
为唯一不等于自身的值。
isNaN(NaN) // true
isNaN(123) // false
isNaN('Hello') // true
// 相当于
isNaN(Number('Hello')) // true
isNaN(['xzy']) // true
// 等同于
isNaN(Number(['xzy'])) // true
4.isFinite()返回一个布尔值,表示某个值是否为正常的数值。
除了Infinity
、-Infinity
、NaN
和undefined
这四个值会返回false
,isFinite
对于其他的数值都会返回true
。
isFinite(Infinity) // false
isFinite(-Infinity) // false
isFinite(NaN) // false
isFinite(undefined) // false
isFinite(null) // true
isFinite(-1) // true