在开发者控制台中运行的代码如下所示。为什么parseInt
返回字符串[0]索引中的数字但不返回字符串中任何其他索引中的数字?
parseInt('i am 1 year old')
// output NaN
parseInt('1 year old')
// output 1
它的行为是什么原因?
答案 0 :(得分:2)
parseInt
函数将字符串读取到一直保持数字的点。因此,10 is a number
返回10
因为函数在第三个字符处停止,这是一个空格。但是在i am 1 year old
的情况下,它会在i
处停止,因为它不是数字而是会返回NaN
。
如果parseInt遇到的字符不是数字 指定的基数,它忽略它和所有后续字符和 返回解析到该点的整数值。 parseInt截断 数字到整数值。允许前导和尾随空格。
参考:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/parseInt