JS 裡的資料型別及幾個操作

東方來客發表於2018-06-25

JS中有五種簡單資料型別(基本資料型別),分別是

  1. Undefined
  2. Null
  3. Boolean
  4. Number
  5. String
以及一種複雜型別:Object.

Undefined

Undefined型別只有一個值,即Undefined.在使用var宣告變數但未對其初始化時其值就是Undefined.(非物件)

var a ;
if(typeof(a) === 'undefined'){
    console.log(a);
}//true
複製程式碼

未宣告的變數只能執行typeof()操作,返回undefined.

Null型別

Null型別只有一個值,即null.如果定義的變數在將來是用來儲存物件的,最好將該變數初始化為null,這樣可以直接判斷null值來知道是否已經儲存了一個物件的引用.

alert(null == undefined) //true
alert(null === undefined) //false

複製程式碼

Boolean型別

布林值只有兩個值,即falsetrue.因為區分大小寫,所以大小寫不一就不是布林值.

Number型別

js中數字佔64bit.其中包括:

  1. 十進位制
  2. 二進位制(前兩位是0b,只由0和一組成)
  3. 八進位制(第一位必須是0,其餘位基數範圍是0-7)
  4. 十六進位制數(前兩位必須是0x,基數範圍是0-9,a-f)
對於極大和極小的數可以採用科學記數法,格式為:
數值a(可以是整數或浮點數)+e+數值b(可正可負).
意即 a乘10的b次方 .

此外還有一特殊的NaN(Not a Number),即非數值.這個數值用於一個本來要返回數值的運算元未返回數值的情況.任何數值除以非數值都會返回 NaN.

他有兩個特點,一個是任何涉及NaN的操作都會返回NaN.第二個特點是NaN與任何值都不相等,包括它本身

String型別

String型別用於表示由零或多個16位Unicode字元組成的字元序列,即字串.由單或雙引號包裹.字串是不可變的,一旦被建立,他們的值就不能更改(可被覆蓋).

Object型別(複雜型別)

一個物件就是一系列屬性的集合,一個屬性包含一個名和一個值。

var person = new Object();
person.name = 'dong'
person.age = 18
person.gender = 'male'
複製程式碼

就構成一個如下的物件

person{
    name: 'dong'
    age: 18
    gender: 'male'
}
複製程式碼

物件裡也可以包含物件等屬性.


幾個操作

遍歷for in

for(var key in person){
    console.log(key);
}  //列印出person中的鍵值

for(var key in person){
    console.log(person.key);
}  //此為錯誤示範.key等價於字串'key',而person中沒有一個叫'key'的鍵

for(var key in person){
    console.log(person[key]);
}  //可正確打出person中的key
複製程式碼

判斷型別typeof()

  1. 值未定義--undefined
  2. 布林值--boolean
  3. 字串--string
  4. 數值--number
  5. 物件或null--objection
  6. 函式--function

刪除delete

delete person.name  //鍵和值都被刪除
複製程式碼

判斷指定的屬性在指定的物件或其原型鏈中in

'name' in person //true 如果是陣列則索引其下標
'dong' in person //false  不能索引值
複製程式碼

相關文章