2017/10/03
6,576
这里总结了JavaScript中常见的数据类型转换
1 字符串 to 数值
显式转换
通常的做法是使用 Number(),parseInt() , parseFloat() 函数。需要注意的是, Number() 的参数不能含有非数字字符串值 ,如 Number(100x) 会得到 Nan, 而 parseInt(), parseFloat() 则是参数的第一个字符不可以是非数字,否则会得到 Nan, 而且它会忽略第一个非数字的字符串之后的所有字符。
js>Number<('100x')
NaN
js>parseInt('100x')
100
js>parseFloat('100x')
100
js>parseInt('10d20x')
10
js>parseFloat('10d20x')
10
js>Number('10d20x')
NaN
js>parseInt('a10d20x')
NaN
js>parseFloat('a10d20x')
NaN
js>Number('a10d20x')
NaN
对于 parseInt() 函数来说,可以指定进制。早期版本的 JavaScript 默认执行 8 进制转换,而新版本使用 10 进制 进行转换。如果需要保证兼容性,则需要带上第二个参数:
js>parseInt('11',2)
3
js>parseInt('11',3)
4
js>parseInt('11',4)
5
js>parseInt('11',8)
9
js>parseInt('11',10)
11
js>parseInt('11',16)
17
隐式转换
数值的字符串变量(指可以通过 Number函数转换为数值的字符串,本节中的字符串均指可以通过 Number() 转换为数值的字符串) 在遇到数值运算符时可能发生隐式转换:
继续阅读