此爲閱讀《JavaScript語言精粹》整理的筆記,方便日後學習。
JavaScript——對象
1.1 對象字面量
一個對象字面量就是包圍在一對花括號中的0或多個“名/值“對
eg:
var message = {
"first-name" : "lisa",
"lsat-name": "Chan",
time:“2018-7-11“,
number:888
}
其中:
a. 逗號分隔多個“名/值“對
b. 注意引號
c. 對象是可以嵌套的
1.2 檢索
(1)在[]後綴中括住一個字符串表達式
message["first-name"]
(2)用 . 表示法
message.time
注:
a. 檢索不存在的的成員元素的值,返回undefined,可以用&&避免
message.equipment //undefined
message.equipment.odel //throw “TypeError”
message.equipment && message.equipment.model //undefined
b. ||運算符可以用來填充默認值
1.3 更新
可以通過賦值語句來更新。
如果屬性名已經存在於對象中。則屬性值被替換
如果屬性名不存在,則屬性被擴充在對象中
1.4 引用
對象通過引用來傳遞
eg:
(1)
var x = stooge;
x.nickname = 'lisa';
var name = stooge.nickname;
//因爲x和stooge是指向同一個對象的引用,所以name爲lisa
(2)
a = b = c = {};
//a.b和c都引用同一個空對象
1.5 原型
a. 每一個對象都連接到一個原型對象,並可以從中繼承屬性。
b. 所有通過對象字面量創建的對象都連接到Object.prototype這個標準的對象
c. 原型連接在檢索的時候纔會被用上,一層一層根據連接查詢。
1.6 反射
檢查對象並確定對象有什麼屬性
eg:
typeof message.number //'number'
1.7 枚舉
for in:該枚舉過程會列出所有的屬性
1.8 刪除
delete運算符可以用來刪除對象的屬性,不會觸及原型鏈中的任何對象
eg:
delete message.first-name