Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript parseInt方法中的错误?_Javascript_Html_Css - Fatal编程技术网

Javascript parseInt方法中的错误?

Javascript parseInt方法中的错误?,javascript,html,css,Javascript,Html,Css,可能重复: 使用parseInt方法分析字符串会返回无效的输出 代码: parseInt("08"); 例外输出: 8 实际产出: 0 代码[这将正确返回输出]: parseInt("8") 输出: 8 为什么会发生这种情况?您需要指定基数: parseInt("08",10); //=>8 否则JavaScript不知道您使用的是十进制、十六进制还是二进制。 (如果使用parseInt,这是您应该始终使用的最佳实践。)您需要指定基数: parseInt("08",10);

可能重复:

使用parseInt方法分析字符串会返回无效的输出

代码:

parseInt("08");
例外输出:

8
实际产出:

0
代码[这将正确返回输出]:

parseInt("8")
输出:

8

为什么会发生这种情况?

您需要指定基数:

parseInt("08",10); //=>8
否则JavaScript不知道您使用的是十进制、十六进制还是二进制。
(如果使用parseInt,这是您应该始终使用的最佳实践。)

您需要指定基数:

parseInt("08",10); //=>8
否则JavaScript不知道您使用的是十进制、十六进制还是二进制。
(如果您使用parseInt,这是您应该始终使用的最佳实践。)

您应该告诉parseInt它基于10的:

parseInt("08", 10);

如果省略基数参数,JavaScript将假定以下情况:

如果字符串以“0x”开头,则基数为16(十六进制)

如果字符串以“0”开头,则基数为8(八进制)。此功能是 不推荐使用如果字符串以任何其他值开头,则基数为10 (十进制)


您应该告诉parseInt其基于10的:

parseInt("08", 10);

如果省略基数参数,JavaScript将假定以下情况:

如果字符串以“0x”开头,则基数为16(十六进制)

如果字符串以“0”开头,则基数为8(八进制)。此功能是 不推荐使用如果字符串以任何其他值开头,则基数为10 (十进制)

另请参见:

另请参见:


前导零的字符串通常被解释为八进制值。因为八进制意味着只有0-7之间的数字才有意义,“08”被转换成“0”。指定修复此问题的基础:

parseInt("08", 10); // base 10
与往常一样,MDN是一个很好的信息来源:
前导零的字符串通常被解释为八进制值。因为八进制意味着只有0-7之间的数字才有意义,“08”被转换成“0”。指定修复此问题的基础:

parseInt("08", 10); // base 10
与往常一样,MDN是一个很好的信息来源:

简单的谷歌搜索也可以解决这个问题:谷歌搜索你确切的问题标题也可以找到答案……简单的谷歌搜索也可以解决这个问题:谷歌搜索你确切的问题标题也可以找到答案。。。