最近在做任务的时候,发现一个很奇怪的问题,甚至可以说是诡异。学过js的人大多会经常用到parseint函数,这个函数的功能是把字符串转换为整型,如a=parseint("123"),则a=123。但我遇到这种情况,parseint("06")=6,parseint("07")=7,但是
parseint("08")=0.
。按照常理parseint("08")应该等于8,但和前两者不一样,答案是0.这是为什么呢。
我们可以查看parseint函数的说明。
。parseint函数有一个可选参数radix,"08"会被认为是八进制的,而在八进制中"08"是不合法的,所以解析为0.要正常的解析为8,则需添加一个进制参数--10,如此方可得到我们想要的答案。大家可以做做实验!!!!
我们可以查看parseint函数的说明。
。parseint函数有一个可选参数radix,"08"会被认为是八进制的,而在八进制中"08"是不合法的,所以解析为0.要正常的解析为8,则需添加一个进制参数--10,如此方可得到我们想要的答案。大家可以做做实验!!!!