JavaScript數據類型-number

js(學習筆記) ---- 九層之臺,起於累土javascript

// Number 數字:正數 負數 小數 NaN(not a number)不是有效數字java

var num1 = 10
var num2 = -10
var num3 = -0.12

// NaN 屬於數字類型 Number
// console.log(typeof NaN) // "number"

// isNaN() 檢測一個值是否是NaN(非有效數字) 
// 若是是NaN(非有效數字)就返回true 是有效數字就返回false

// 返回false 說明檢測的值是有效數字
// console.log(isNaN(num1)) // false
// console.log(isNaN(num2)) // false
// console.log(isNaN(num3)) // false

// console.log(isNaN(NaN)) // true
// console.log(isNaN('abc')) // true
// console.log(isNaN('10px')) // true

// 都是有效數字 isNaN會經過Number方法 先轉換成數字 再進行判斷
console.log(isNaN('')) // false isNaN(Number('')) => isNaN(0)

// isNaN(Number('2')) => isNaN(2) => false
console.log(isNaN('2')) // false

// isNaN(Number([])) => isNaN(0) => false
console.log(isNaN([])) // false

// isNaN(Number([100])) => isNaN(100) => false
console.log(isNaN([100])) // false

// 記住isNaN再檢測值的時候 會默認調用Number先轉換成數字 再進行判斷


// 將其它類型轉換成數字
// Number() 轉換的值只要包含有 不是有效數字的字符 返回NaN
// 從左到右 依次查找數字 若是遇到一個字符不是數字 就返回NaN

// 純數字字符串
// console.log(Number(1)) // 1
// console.log(Number('2')) // 2
// console.log(Number('-2')) // -2
// console.log(Number('0.2')) // 0.2

// console.log(Number('10px')) // NaN
// console.log(Number('px10')) // NaN

// 空字符串 轉換成數字 是0
// console.log(Number('')) // 0

// 對於數組 經過Number方法 先將數組轉換成字符串 再轉換成數字
// 空數組 轉換成數字 是0
// console.log(Number([])) // 0

// console.log(Number([100])) // 100 [100] => '100' Number('100') => 100

// 從左到右 依次查找數字 若是遇到一個字符不是數字 就返回NaN
// [100, 10] => '100, 10'
// console.log(Number([100, 10])) // NaN

// 將boolean值轉換成數字
// console.log(Number(true)) // 1 true 轉換成數字是 1
// console.log(Number(false)) // 0 false 轉換成數字是 0
複製代碼

// 對象object轉換成數字是NaN
// console.log(Number({}))
// console.log(Number({1: 100}))
// var obj1 = {id: 1}
// console.log(Number(obj1))數組

// 正則轉換成數字 是NaN
// console.log(Number(/\d+/)) // NaN學習

// 轉換成數字(提取成數字)
// parseInt
// parseFloatui

console.log(parseInt('1')) // 1spa

console.log(Number('10px')) // NaNcode

// parseInt 從左到右依次進行提取 若是遇到字符不是數字就中止提取 將提取到數字返回對象

console.log(parseInt('10px')) // 10
console.log(parseInt('a10px')) // NaN
console.log(parseInt('11a10px')) // 11
console.log(parseInt('11111a10px')) // 11111ip

console.log(parseInt('')) // NaN
console.log(parseInt('2019')) // 2019
console.log(parseInt([])) // NaN
console.log(parseInt([100])) // [100] => '100' => 100
console.log(parseInt(true)) // NaN
console.log(parseInt(false)) // NaN字符串

// parseInt 不支持小數 利用它進行取整 不會進行四捨五入
console.log(parseInt('1.5')) // 1
console.log(parseInt('-1.5')) // -1
console.log(parseInt('0.5')) // 0

console.log(parseInt(100.50)) // 100

// parseFloat (浮點型) 識別小數點
console.log(parseFloat(100.50)) // 100.5

// 將其餘類型轉換成數字 重點
// Number()
// parseInt() 支持進制轉換(十進制 二進制 十六進制 八進制)
// parseFloat()

// isNaN()

// Number類型 包含 有效數字 和 NaN

----------------------------------------------------------------------------------------------------------------
參考文章&&強烈推薦:布羅利

相關文章
相關標籤/搜索