j中Number()和parseInt()的区别

4 阅读1分钟
  • Number() :是一个全局函数,它可以将各种数据类型转换为数字类型。如果转换的值是一个合法的数字格式(包括整数、小数、科学计数法等),则会返回对应的数字;如果无法转换为数字,则返回NaN(Not a Number)。
Number(324) // 324
// 字符串:如果可以被解析为数值,则转换为相应的数值
Number('324') // 324
// 字符串:如果不可以被解析为数值,返回 NaN
Number('324abc') // NaN
// 空字符串转为0
Number('') // 0
// 布尔值:true 转成 1,false 转成 0
Number(true) // 1
Number(false) // 0
// undefined:转成 NaN
Number(undefined) // NaN
// null:转成0
Number(null) // 0
// 对象:通常转换成NaN(除了只包含单个数值的数组)
Number({a: 1}) // NaN
Number([1, 2, 3]) // NaN
Number([5]) // 5
  • parseInt() :主要用于将字符串转换为整数。它会从字符串的开头开始解析,直到遇到一个非数字字符(第一个非数字字符及之后的字符都会被忽略),然后返回解析出来的整数。如果字符串以非数字字符开头,则返回NaN
parseInt('32.333') //32
parseInt('32a3') //32
parseInt('a32') //NaN