我试图了解parseInt()将如何在javascript中运行,我的方案是
var x = parseInt("123");
console.log(x); // outputs 123
var x = parseInt("1abc");
console.log(x); // outputs 1
var x = parseInt("abc");
console.log(x); // outputs NaN
从我的观察开始,当字符串以数字开头时,parseInt()将字符串转换为整数(实际上不是字符串的整数,如" 12sv")。
但实际上它应该返回NaN。
答案 0 :(得分:3)
来自:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt
"如果第一个字符无法转换为数字,则parseInt返回NaN。"
答案 1 :(得分:1)
来自Mozilla's docs:"如果parseInt遇到的字符不是指定基数中的数字,它会忽略它和所有后续字符并返回解析到该点的整数值。&#34 ;
因此它将解析第一个无效字符,删除字符串的其余部分,并返回它设置为解析的int,直到那时。如果没有有效字符,则返回NaN。
答案 2 :(得分:0)
parseInt()
- >它只是将提供的值解析为等效的基数转换,如果指定没有基数,则转换为十进制等值。
出于强制目的,我们应该避免使用parseInt,我们可以使用Number()
函数。