分配给node.js变量的值返回奇怪的值

时间:2017-09-22 17:08:25

标签: node.js variables

我正在动手Node.js,我发现它非常令人兴奋。但是,当我尝试使用变量时,我得到了奇怪的结果。当01234分配给变量时,668显示为响应,当分配0123时,返回83作为响应。我没理解逻辑。我正在附上这个screengrab。

enter image description here

我在c#中检查了同样的结果,得到了预期的结果。 node.js中发生了什么?

2 个答案:

答案 0 :(得分:2)

在javascript中,从0 0 0 1 1 0.15 2 2 0.3 1 3 0.45 1 4 0.6 1 5 0.75 6 6 0.9 7 7 1.05 8 8 1.2 9 9 1.35 10 10 1.5 11 11 1.65 12 12 1.8 13 13 1.95 14 14 2.1 15 15 2.25 16 16 2.4 17 17 2.55 18 18 2.7 19 19 2.85 开始表示此号码位于0

octal

参考此处: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt#Octal_interpretations_with_no_radix

答案 1 :(得分:2)

  

八进制数字由ASCII数字0后跟一个或多个组成   ASCII数字0到7穿插着下划线,并且可以   表示正整数,零整数或负整数。

所以012是一个八进制数字,这就是为什么它等于小数中的10

一个好的解决方案是解析它。

parseInt("012");