使用 parseInt 函数可以进行进制的转换。
parseInt(number, type):
参数 type 表示进制,默认是10进制。
parseInt('010') === parseInt('010', 10) === 10 parseInt('010', 2) === 2 parseInt('010', 8) === 8 parseInt('010', 16) === 16
如果 number 是以 0 开头的数字 则默认是 8 进制:
parseInt(010) === parseInt(‘010’, 8) === 8
如果 number 是以 0x 开头的默认是 16 进制:
parseInt(‘0x010’) === parseInt(‘010′, 16) === 16
如果 number 不是数字(0~9)就中断往下解析,就只取不是数字之前的值去运算:
parseInt(’10xd’) === parseInt(’10’, 10) === 10
如果 number 以 0开头,并且 第二个 为 x 就继续解析,而进制为 16 进制:
parseInt(‘0x1’) === parseInt(‘1’, 16) === 1
parseInt(‘0xy’) === parseInt(‘0x’, 16) === parseInt(”, 16) === NaN