JS 常用的數據類型(一)

JS常用的數據類型

基本數據類型

引用數據類型

  • 對象數據類型 object
        普通對象:用{ } 存放數據
        數組對象:用[ ] 存放數據
        正則對象
  • 函數數據類型 function

1. 數字類型Number
包含: 常規數字 和 NaN
1.1  NaN:not a number
       NaN和任何值都不相等包括它自己(六親不認)。

console.log(NaN==NaN)  //false
console.log(12==NaN)   //false
console.log('A'==NaN)  //false

       所以當我們要判斷一個數字是不是有效數字,千萬別用NaN來驗證。檢測數字是否爲有效數字可以使用 isNaN (is not a number),如果不是數字返回true,是數字返回false。

console.log(isNaN('A'))  //true
console.log(isNaN(3))    //false
console.log(isNaN('3'))  //false

       isNaN的機制是如果判斷對象不 是數字類型,會先對對象進行Number轉化成數字類型,然後再判斷。

1.2  把其他類型轉換數字類型
       轉換方法:Number([val])
       a. 把字符串轉爲數字,只要字符串包含任意一個非有數字字符,結果都是NaN,第一個字符爲小數點除外。

console.log(Number('12.5'))   //12.5
console.log(Number('12.5px')) //NaN
console.log(Number('.125'))   //0.125
console.log(Number('a12.5x')) //NaN
console.log(Number('')) 	  //0

       b. 布爾轉換爲數字

console.log(Number(true))    //1
console.log(Number(false))   //0

       c. null 和 undefined

console.log(Number(null))		//0
console.log(Number(undefined))  //NaN

       e. 對象轉數字
引用類型數據類型轉換爲數字,是先把他基於toString方法轉換爲字符串,然後在轉換爲數字,當字符串轉換數字時,就是上面說的方法了(只要字符串包含任意一個非有數字字符,結果都是NaN,第一個字符爲小數點除外。)

console.log(Number({}))  			//NaN
console.log(Number({name:'10'}))    //NaN
console.log(Number([])				//0
console.log(Number([12]))  			//12
console.log(Number([12,16])) 		//NaN

1.3. parseInt,parseFloat
       對於字符串來說,從左到右依次查找有效數字,直到遇到非有效數字字符停止,不管後面還有沒有有效數字,把找到的數字轉換爲數字類型。

console.log(parseInt('12.5px'))    // 12
console.log(parseInt('1A2.5px'))   // 1
console.log(parseInt('A12.5px'))   // NaN
console.log(parseInt('true'))      // NaN

console.log(parseFloat('12.5px'))  // 12.5
console.log(parseFloat('1A2.5px')) // 1
console.log(parseFloat('A12.5px')) // NaN
console.log(parseFloat('false'))   // NaN

2.字符串String
定義:所有用單引號、雙引號包起來的都是字符串
2.1 把其他類型值轉換爲字符串
       轉換方法:[value].toString()
       基本上所有值轉換爲字符串都是在外邊加上雙引號即可,除null,undefined,對象等除外。

console.log('A12.5px'.toString())   // A12.5px
console.log((NaN).toString())       // NaN
console.log((true).toString())      //true
console.log((false).toString())     //false
console.log((null).toString())		//error
console.log((undefined).toString()) //error
console.log(({name:'zs'}).toString()) //[object Object]

2.2 字符串拼接
       四則運算法則中,除加法外,其餘都是數學運算,加法可做爲字符串拼接符。

console.log('12'+6)   // 126
console.log('12'-6)   // 6
console.log('12px'-6) //NaN
發佈了167 篇原創文章 · 獲贊 366 · 訪問量 37萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章