JavaScript parseInt()和Number()之间有什么区别
JavaScript parseInt()方法
parseInt()方法用于解析一个字符串并将其转换为指定基数的整数。它接受两个参数:要解析的字符串和要使用的基数。基数是一个介于2和36之间的整数,表示数字的基。如果parseInt()在解析过程中遇到不符合指定基数的字符,它将忽略该字符及其后续字符,并返回解析到该点的值作为整数。在此情况下,前导或尾随的空格是允许的。如果该函数获取到第一个字符并无法将其转换为数字,它将返回NaN,除非基数大于10。对于任何基数来说,NaN值都不是有效的数字,不能用于任何数学运算。
语法:
parseInt(string, radix)
JavaScript Number()方法
Number()方法 用于创建一个原始类型的Number对象。它接受一个参数,这个参数是数字的值。这个值可以通过字符串传递,并且Number函数将尝试将其表示为一个数字。如果参数无法转换为数字,它将返回一个NaN值。这个NaN值不是一个有效的数字,不能用于任何数学计算。
语法:
Number(valueString)
下面的示例可以解释它们之间的区别:
示例1: 这个示例表明,parseInt()
尝试将值转换为最后一个可转换为整数的字符。末尾的空格和字符被忽略,因为它们不是有效的。另一方面,Number()
方法只返回NaN
。
function parseNumber() {
let string = '10.6 objects';
let number1 = parseInt(string);
let number2 = Number(string);
console.log("Output of parseInt is: " + number1);
console.log("Output of Number is: " + number2);
}
parseNumber();
输出
Output of parseInt is: 10
Output of Number is: NaN
示例2: 此示例显示了parseInt()仅返回整数值,而Number()返回包括浮点数在内的所有数字。
function parseNumber() {
let string = '3.1415';
let number1 = parseInt(string);
let number2 = Number(string);
console.log("Output of parseInt is: " + number1);
console.log("Output of Number is: " + number2);
}
parseNumber();
输出
Output of parseInt is: 3
Output of Number is: 3.1415
示例3: 此示例展示了parseInt()函数中基数参数的工作方式。传入的字符串将以2为基数进行解析。这将返回值为12。另一方面,Number()函数将返回字符串中的值原样输出。
function parseNumber() {
let string = '1100';
let number1 = parseInt(string, 2);
let number2 = Number(string);
console.log("Output of parseInt is: " + number1);
console.log("Output of Number is: " + number2);
}
parseNumber();
输出
Output of parseInt is: 12
Output of Number is: 1100