parseInt() 和 Number()的應用區別
這兩個函數最多的應用就是把一個字符串轉換成數據類型。
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.不同類型的字符串使用這兩個函數的轉換區別:
// 當字符串是由數字組成的時候 他們轉換的數字一樣的沒有差別
var numStr = '123'
console.log(parseInt(numStr)) //123
console.log(Number(numStr)) //123
// 當字符串是由字母組成的時候
var numStr = 'abc'
console.log(parseInt(numStr)) //NaN
console.log(Number(numStr)) //NaN
// 當字符串是由數字和字母組成的時候
var numStr = '123a'
console.log(parseInt(numStr)) //123
console.log(Number(numStr)) //NaN
// 當字符串是由0和數字
var numStr = '0123'
console.log(parseInt(numStr)) //123
console.log(Number(numStr)) //123
// 當字符串包含小數點
var numStr = '123.456'
console.log(parseInt(numStr)) //123
console.log(Number(numStr)) //123.456
// 當字符串為null時
var numStr = null
console.log(parseInt(numStr)) //NaN
console.log(Number(numStr)) //0
// 當字符串為''(空)時
var numStr = ''
console.log(parseInt(numStr)) //NaN
console.log(Number(numStr)) //0