在 JavaScript 的 parseInt 函数中将基数默认为 8(如果字符串以 0 开头)让我很烦恼,只是因为我仍然忘记将可选的第二个参数传递为 10。我正在寻找一个答案,告诉我为什么这样做有意义将其默认为 8。
如果输入字符串以 0 开头,则它仅“默认”为 8。这是 C 和 C++ 的不幸遗留。
您可以使用Number('0123')
相反,或者,正如您在问题中所说,parseInt('0123', 10)
.
如何解决 JavaScript 的 parseInt 八进制行为? https://stackoverflow.com/questions/850341/workarounds-for-javascript-parseint-octal-bug
您能告诉我更多有关此结转的信息吗?
- Javascript eval 函数返回八进制值 https://stackoverflow.com/questions/2523779/javascript-eval-function-returning-octal-value
- 八进制数字文字:什么时候?为什么?曾经? https://stackoverflow.com/questions/44569/octal-number-literals-when-why-ever
Note: ECMAScript 严格模式删除了八进制语法。 https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Functions_and_function_scope/Strict_mode#Converting_mistakes_into_errors
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)