众所周知的parseInt()
parseInt是将string类型转换为number类型的一种方法。
如果不是string类型,内部会将其先—>string—>number。
其与Number()方法的区别,详见:number数据类型及转换详解
不为人知的parseInt()——神秘的第二个参数
parseInt([value], [radix])
@params:
value: 待转换的字符串(或其他类型值)
radix: 基数(进制)
举个栗子:
parseInt("2AF5",16)
如果你认为是将字符串“2AF5”转换为16进制,那就大错特错了!
In fact, 这句代码表示的意思是:将字符串“2AF5”当作16进制的值,并将其转换为10进制~
具体计算过程为:
2AF5 = 5 * 160 + 15 * 161+ 10 * 162+ 2 * 163 = 10997
有一些特殊情况需要注意:
-
parseInt()的第二个参数radixÿ