定義
物件是JS中的參考資料型別,物件是一種復合資料型別,在物件中可以保存多個不同資料型別的屬性,使用typeof檢查一個物件時,會回傳object,
分類
內置物件
由ES標準定義的物件,在任何ES的實作中都可以實作,比如 Math String Number Boolean Function Object...
宿主物件
由 JS 的運行環境提供的物件,主要指由瀏覽器提供的物件,比如 BOM DOM
自定義物件
由開發人員自己創建的物件
創建自定義物件
//方式一
var obj = new Object(); //使用 new 關鍵字呼叫的函式,是建構式
//方式二
var obj = {};
物件的屬性
屬性名
- 物件的屬性名不強制遵守識別符號規范,可以使用任何名字,如 obj.var = "hello"
- 如果需要使用特殊屬性名,如 obj.123 = "hello",必須使用另一種賦值方式:物件["屬性名"] = "屬性值",讀取時也必須使用采用上述方式
- 在 [] 中直接傳遞一個變數,變數值是多少就讀取相應屬性,更加靈活
屬性值
- JS 物件的屬性值可以是任意的資料型別,也可以是一個物件
向物件中添加屬性
- 語法:物件.屬性名 = 屬性值 或 物件["屬性名"] = 屬性值
- 物件的屬性名沒有任何要求,不需要遵守識別符號的規范,但是在開發中,盡量按照識別符號的要求去寫,
- 屬性值也可以任意的資料型別,
讀取物件中的屬性
- 語法:物件.屬性名 或 物件["屬性名"]
- 如果讀取一個物件中沒有的屬性,它不會報錯,而是回傳一個undefined
洗掉物件中的屬性
- 語法:delete 物件.屬性名 或 delete 物件["屬性名"]
使用in檢查物件中是否含有指定屬性
- 語法:"屬性名" in 物件
- 如果在物件中含有該屬性,則回傳true,如果沒有則回傳false,
列舉物件中的屬性
- 語法:for(var 屬性名 in 物件){ ... }
- for...in陳述句的回圈體會執行多次,物件中有幾個屬性就會執行幾次,每次講一個屬性名賦值給我們定義的變數,我們可以通過它來獲取物件中的屬性
基本資料型別和參考資料型別
- 基本資料型別:String Number Boolean Null Undefined
- 參考資料型別:Object
- JS 中的變數都是保存到堆疊記憶體中
- 基本資料型別
- 基本資料型別的值直接在堆疊記憶體中存盤,變數是直接保存的它的值,
- 變數與變數之間是互相獨立的,修改一個變數不會影響其他的變數,
- 參考資料型別
- 物件是保存到堆記憶體中,每創建一個新的物件,就會在堆記憶體中開辟出一個新的空間
- 參考資料型別的資料,變數是保存的物件的參考(記憶體地址)
- 如果多個變數指向的是同一個物件,此時修改一個變數的屬性,會影響其他的變數,
- 比較兩個變數時,對于基本資料型別,比較的就是值,對于參考資料型別比較的是地址,地址相同才相同
- 基本資料型別
使用物件字面量,在創建物件時直接向物件中添加屬性
var obj = {
屬性名:屬性值,
屬性名:屬性值,
屬性名:屬性值,
屬性名:屬性值
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/148812.html
標籤:JavaScript
上一篇:JavaScript之BOM基礎
