为什么Javascript parseInt('0x4A')返回与parseInt('0x4Avv')相同?

Mat*_*att -1 javascript

为什么Javascript parseInt('0x4Avv')返回与parseInt相同('0x4A') 我指望parseInt('0x4Avv')返回NaN.

反正有没有让它表现如此?

即使是奇怪的字符串'work',例如:parseInt('0x4Av - 9-0-90v')产生的结果与parseInt('0x4A')相同

在所有浏览器中观察....

小智 6

以下是MDN parseInt文档的摘录

如果parseInt遇到的字符不是指定基数中的数字,它会忽略它和所有后续字符,并返回解析到该点的整数值.parseInt将数字截断为整数值.允许前导和尾随空格.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt

没有一种内置的方法可以使其表现不同,但你可以想象使用可能更严格的正则表达式来编写自己的int解析函数.