每天一个知识点之js中的parseInt

88 阅读1分钟

起因是看到一个图片

01.jpg 问题来了,为什么后面回出现NaN的形式,先上解释:

02.jpg 即第一个是字符串,第二个是基数,这个地方就是要着重了解的地方,这个基数到底是干什么的。 基数就是说进制,即第二个参数写的几,就把前面的string当作几进制的存在,注意,这个基数针对的是前面的string而不是说把string转换成这个基数的结果!!!这个是最重要的 那么现在就可以理解了,就是把string看作是radix进制的转化为十进制的结果! parseInt("3",2)就是错的NaN,因为二进制中不存在"3"。

补充:查了mdn上,如果radix是0的话,不是以0或者0x开头的话,默认是10进制,也就是说如果是1或者大于36都完了,都是NAN,再次提醒判断NAN只能是isNAN()