<分区>
如果我使用代码:
string = '010';
write = eval(string);
document.write(write)
我在页面上写了 8。为什么? 即使 010 不是字符串,也会发生这种情况。
标签 javascript
<分区>
如果我使用代码:
string = '010';
write = eval(string);
document.write(write)
我在页面上写了 8。为什么? 即使 010 不是字符串,也会发生这种情况。
最佳答案
因为010被解析为八进制。 Javascript 将前导零视为表示该值以 8 为基数。
类似地,0x10 会给出 16,以十六进制解析。
如果要使用指定的基数解析字符串,请使用 parseInt:
parseInt('010', 8); // returns 8.
parseInt('010',10); // returns 10.
parseInt('010',16); // returns 16.
关于javascript - 在 JavaScript 中,eval(010) 返回 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6718102/
相关文章:
javascript - jquery show hide multiple div on click - 想在点击后隐藏触发器点击的链接
javascript - 如何在没有登录的情况下访问drupal管理面板
javascript - Backbone 虹吸管获取对象数组
javascript - 从 Document.Ready 调用 onchange 函数,并使用更新中预选的项目
javascript - 如何在 Kendo UI 中创建 Jalali Date Picker?
javascript - How does it snow on Google,输入 Let it snow
javascript - 正则表达式检查字符串中是否有任何单词不超过限制
javascript - 类型错误 : 'undefined' is not a function (evaluating '_class.apply(this, arguments)' )