parseInt() 和 Number()的应用区别

这两个函数最多的应用就是把一个字符串转换成数据类型。

1.parseInt()

parseInt()函数将给定的字符串以指定的基数解析为整数

语法:parseInt(string,radix)

注:第二个参数表示使用的进制,一般使用10进制。

eg:
parseInt("16", 8) = 14;
parseInt("16",10) = 16;
parseInt("16",16) = 22;

parseInt从头解析string为整数,在遇到不能解析的字符时就返回已经解析的整数部分,如果第一个字符就不能解析,就直接返回NaN。

2.Number()

Number()在不用new操作符时,可以用来执行类型转换。如果无法转换为数字,就返回NaN。eg:“123a”,parseInt()返回的是123,Number()返回时NaN。

3.不同类型的字符串使用这两个函数的转换区别:

// 当字符串是由数字组成的时候 他们转换的数字一样的没有差别  
let numStr = '123'
console.log(parseInt(numStr))   //123
console.log(Number(numStr)) //123

// 当字符串是由字母组成的时候
let numStr = 'abc'
console.log(parseInt(numStr))   //NaN
console.log(Number(numStr)) //NaN

// 当字符串是由数字和字母组成的时候
let numStr = '123a'
console.log(parseInt(numStr))   //123
console.log(Number(numStr)) //NaN

// 当字符串是由0和数字
let numStr = '0123'
console.log(parseInt(numStr))   //123
console.log(Number(numStr)) //123

// 当字符串包含小数点
let numStr = '123.456'
console.log(parseInt(numStr)) //123
console.log(Number(numStr)) //123.456

// 当字符串为null时
let numStr = null
console.log(parseInt(numStr)) //NaN
console.log(Number(numStr)) //0

// 当字符串为''(空)时
let numStr = ''
console.log(parseInt(numStr)) //NaN
console.log(Number(numStr)) //0

版权声明:本文为ljp1997原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/ljp1997/p/11442736.html