Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
所以当我使用:
eval('03*3');
我应该得到9。但是当我使用:
eval('033*3');
我得到的是 81 而不是 99。我确信对这个结果有一个很好的解释,但我无法找到答案。谁能解释一下?
在 JavaScript 中,与在 C 和 C++ 中一样,以零开头的数字常量被解释为 base-8(八进制)值。因此033是十进制 27 (3 * 8 + 3)。您的第一个示例有效,因为03(八进制 3)与十进制 3 相同,因为 3 是 3。多位值将关闭。
033
03