javascript - 为什么 JavaScript 的 parseInt 的基数默认为 8?

标签 javascript

在 JavaScript 的 parseInt 函数中将基数默认为 8(如果字符串以 0 开头)让我很烦恼,只是因为我仍然忘记将可选的第二个参数传递为 10。我正在寻找一个答案来告诉我为什么会这样将其默认为 8 是有意义的。

最佳答案

如果输入字符串以 0 开头,则它仅“默认”为 8。这是来自 C 和 C++ 的不幸遗留。

您可以使用 Number('0123') 代替,或者,正如您在问题中所说,parseInt('0123', 10)

How do I work around JavaScript's parseInt octal behavior?

<小时/>

Can you tell me more about this carryover?

<小时/>

注意:ECMAScript strict mode removes octal syntax.

关于javascript - 为什么 JavaScript 的 parseInt 的基数默认为 8?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5600366/

相关文章:

javascript - 需要等待 XMLHttpRequest 完成

javascript - 如何在 Angular 8 中隐藏标题组件的导航栏按钮以防止路由?

javascript - 从 JSON 回复中移除父元素

javascript - 在angularjs中将数据从前端插入mysql db

javascript - 是否可以通过 javascript 将 @font-face html 实体输入到输入中?

javascript - 分析事件代码显示在源代码中,但不显示在控制台中

javascript - asbygoogle 导致 chrome 执行脚本永远不会返回

javascript - 是否有 Android 应用程序通过 websockets 公开 Tango API?

javascript - 用css或canvas绘制曲线

javascript - window.language 和 navigator.language 之间有什么区别?