为什么parseInt('1岁')返回1但是parseInt('我是1岁')返回NaN?

时间:2017-09-02 04:29:54

标签: javascript parseint

在开发者控制台中运行的代码如下所示。为什么parseInt返回字符串[0]索引中的数字但不返回字符串中任何其他索引中的数字?

parseInt('i am 1 year old')
// output NaN
parseInt('1 year old')
// output 1

它的行为是什么原因?

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

相关问题