一、對象字面量
1、首先了解什麼是字面量?
字面量表示如何表達這個值,一般除去表達式,給變量賦值時,等號右邊都可以認爲是字面量。字面量分爲字符串字面量(string literal )、數組字面量(array literal)和對象字面量(object literal),另外還有函數字面量(function literal)。
示例:
var test="hello world!";
"hello world!"就是字符串字面量,test是變量名。
2、對象字面量
對象字面量就是包圍在一對花括號中的零或者多個“名/值”對。
var obj = {
name:“name”
}
對象內鍵的命名:可以是包括空字符的任何字符串,非保留字非js標識可以不適用引號括住,但分段需要引號括住。如下:
var obj{
“a-b”:1,
a_b:1
}
//“a-b” 必須添加引號
//a_b 可選擇是否添加引號
注:js中標識符包括(-)是不合法的,但包含(_)則是合法的
二、對象屬性檢索方法
var obj = {
name:"lily",
core:{
English:60,
Math:80
}
}
1、通過 . 檢索
obj.name
2、通過[] 檢索
obj["name"]
3、當檢索一個不存在的成員屬性
obj.age //undefined
4、運算符 || 填充默認值
var name = obj.name || "小明"
var name = obj["name"] || "(小明)"
5、運算符 && 避免值爲undefined的屬性成員導致的TypeError異常
obj.age //undefined
obj.age.model //TypeError
obj.age && obj.age.model //undefined
三、更新對象的成員屬性值
1、. 賦值
2、[] 賦值
3、{} 賦值
obj.name = "汪汪"
obj.sex ="母"
obj["age"]="6個月"
obj ={
obj.name = "狗狗",
obj.sex ="母",
obj["age"]="2個月"
}
注:. \ [] 修改值的時候,當obj已存在該屬性名,則修改,不存在則直接添加。{} 直接修改obj的成員屬性