有人能帮我理解为什么会这样吗?

时间:2009-05-08 18:12:51

标签: javascript html

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

考虑这个测试页面:

<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 个答案:

答案 0 :(得分:14)

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

044024 oct to dec是18452

答案 1 :(得分:5)

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

答案 2 :(得分:3)

当您编写一个以0作为第一个数字的数字时,它是一个八进制数。