parseInt
今天看到公司内部平台推送了一道关于parseInt的问题,发现结果出乎一聊,根本原因是对于parseInt执行理解不清晰,这里Mark下。
问题
1 | parseInt('0xf',16) |
解释
- parseInt第一个参数,会从首个非空格字符开始,对于非字符串会做ToString转换,因此parseInt(15,16)本质就是parseInt(‘15’,16)。
- parseInt(‘0xf’,16),JS识别字符串是16进制数字,radix也是16进制,因此直接解析为15。parseInt(‘0xf’)虽然没有传radix,但是根据字符串0x前缀还是识别为16进制因此还是15。