所以当我使用时:
eval('03*3');
Run Code Online (Sandbox Code Playgroud)
我应该得到9分.但是当我使用时:
eval('033*3');
Run Code Online (Sandbox Code Playgroud)
我得到81而不是99.我确信这个结果有一个很好的解释,但我找不到答案.有人可以解释一下吗?
在JavaScript中,与C和C++一样,以零开头的数字常量被解释为base-8(八进制)值.因此033是十进制27(3*8 + 3).您的第一个示例有效,因为03(八进制3)与十进制3相同,因为3是3.多位数值将关闭.
| 归档时间: |
|
| 查看次数: |
433 次 |
| 最近记录: |