标签: javascript eval
所以当我使用:
eval('03*3');
我应该得到9分。但是当我使用:
eval('033*3');
我得到81而不是99.我确信这个结果有一个很好的解释,但我找不到答案。有人可以解释一下吗?
答案 0 :(得分:9)
在JavaScript中,与C和C ++一样,以零开头的数字常量被解释为base-8(八进制)值。因此033是十进制27(3 * 8 + 3)。您的第一个示例有效,因为03(八进制3)与十进制3相同,因为3是3.多位数值将关闭。
033
03