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
----------------------------------------------------------------------------------------------------------------
參考文章&&強烈推薦:布羅利