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