标签: javascript
因此,我的理解是eval()可以采用作为数学表达式的字符串并返回该表达式的值。为什么要在数字前加一个“ 0”,例如将“ 11”更改为“ 011”会更改结果吗?
答案 0 :(得分:2)
因为011是一个八进制文字,它等于十进制9(9 + 9等于18)。删除0前缀将使该值成为十进制,因此结果为十进制11(11 + 11给出22)。
011
0
您可以从节点REPL尝试
> eval('011') 9
如果启用严格模式,它将不允许八进制文字。 related