题库之parseInt() / parseFloat()
parseInt() / parseFloat([val,[进制]]) 对于字符串来说,它从左到右依次查找有效的数字字符,直到遇到非有效数字字符,停止查找(不管后边是否还有数字,都不在进行查找,最后把找到的当做数字返回)
如果当前转化不为字符串,所以先将这个额外的方法主要先将转化的值为字符串类型,然后进行检索数 字直到遇到非数字结束。
举例如下:
let str = 'abc123'
let num = parseInt(str)
console.log(num) // NaN
if (num == NaN) {
console.log(NaN)
} else if (num == 123) {
console.log(123)
} else if (typeof num == 'number') {
console.log('number')
} else {
console.log('str')
}
let str1 = '12.5px'
let str2 = 'px12.5'
console.log(parseInt(str1)) // 12
console.log(parseInt(str2)) // NaN
console.log(parseFloat(str1)) // 12.5
console.log(parseFloat(str2)) // NaN
console.log(parseFloat(true)) // NaN
console.log(parseFloat(NaN)) // NaN
console.log(parseInt(NaN)) // NaN
console.log(NaN == NaN) // false