console.log(parseInt('01abbb')) // 1
console.log(parseInt('31xyz')) // 31
console.log(parseInt('zyz31')) // NaN
console.log(parseInt('31xyz1')) // 31

parseInt()
是否忽略了字符恰好不是整数的索引的后缀?
答案 0 :(得分:2)
只有在从字符串转换为数字时才能获得有意义的数字。
console.log(parseInt('01abbb')) // 1 -> it is started by 01 before chars
console.log(parseInt('31xyz')) // 31 -> it is started by 31 before chars
console.log(parseInt('zyz31')) // NaN -> it is not started by numbers
console.log(parseInt('31xyz1')) // 31 -> it is started by 31 before chars
答案 1 :(得分:1)
ParseInt读取,直到它停止看到一个数字。由于xyz不是数字,因此返回NaN(非数字)。
答案 2 :(得分:1)
答案 3 :(得分:1)
有关详细信息,请参阅the usual rules for determining the this seen by a function
注意:只返回字符串中的第一个数字!
注意:允许前导和尾随空格。
注意:如果第一个字符无法转换为数字,parseInt()将返回NaN。
注意:较旧的浏览器会导致parseInt(" 010")为8,因为较旧版本的ECMAScript(早于ECMAScript 5,在字符串以&开头时使用八进制基数(8)作为默认值) #34; 0"。从ECMAScript 5开始,默认为十进制基数(10)。