起因是看到一个图片
问题来了,为什么后面回出现NaN的形式,先上解释:
即第一个是字符串,第二个是基数,这个地方就是要着重了解的地方,这个基数到底是干什么的。
基数就是说进制,即第二个参数写的几,就把前面的string当作几进制的存在,注意,这个基数针对的是前面的string而不是说把string转换成这个基数的结果!!!这个是最重要的
那么现在就可以理解了,就是把string看作是radix进制的转化为十进制的结果!
parseInt("3",2)就是错的NaN,因为二进制中不存在"3"。
补充:查了mdn上,如果radix是0的话,不是以0或者0x开头的话,默认是10进制,也就是说如果是1或者大于36都完了,都是NAN,再次提醒判断NAN只能是isNAN()