代码之家  ›  专栏  ›  技术社区  ›  juan

有人能帮我理解为什么会发生这种情况吗?

  •  2
  • juan  · 技术社区  · 17 年前

    我刚刚遇到了我见过的最奇怪的事情。

    考虑此测试页面:

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title></title>
        <script language=javascript>
            function test(myParameter) {
                alert(myParameter);
            }
        </script>
    </head>
    <body>
        <input type="button" value="Strange" onclick="javascript: test(044024);" />
        <input type="button" value="Ok" onclick="javascript: test('044024');" />
    </body>
    </html>
    

    如果我点击“奇怪”按钮,我会得到 18452 044024

    3 回复  |  直到 16 年前
        1
  •  14
  •   Antonio Haley    17 年前

    由于前导0,Javascript将符号044024解释为八进制值。

        2
  •  5
  •   Milan BabuÅ¡kov    17 年前

    前缀为0的数字被认为是八进制(以8为基数)

        3
  •  3
  •   Anzurio    17 年前