對象
無序的數據集合,由若干個“鍵值對”(key-value)構成。
鍵值對由鍵名和鍵值組成,每個鍵值對之間用逗號分隔。
如果鍵名是數值,會被自動轉為字符串。
讀取屬性的方法
點表示法
用來訪問對象的屬性和方法
只能接受字面量的成員名字,不接受變量作為名字。
數值鍵名不能用點表示法,如obj.0xFF會被當成小數點
var person = {
name : {
first : 'Bob'
last : 'Smith'
},
age : 18;
}
person.age;
person.name.first;
括號表示法
另一種訪問屬性的方式
鍵名必須加引號否則會被當成變量,數字鍵可以不加
person['age']
person['name']['first']
優點:可以通過變量來訪問屬性
var obj = {};
obj.name = 'jane';
var myName = 'name';
obj.myName//undefined,訪問不到對應的屬性,點表示法不接受變量作為名字
obj[myName]//"jane"
給屬性賦值的方法
- 點表示法
- 括號運算法
查看所有屬性
Object.keys
var obj = {
name : 'jane',
age : 18
}
Object.keys(obj);
刪除屬性
delete obj.name
無法認定某個屬性是否存在的,只能保證讀取這個屬性肯定得到undefined。
var obj = {
name : 'jane',
age : 18
}
delete obj.name;
表達式還是語句
用大括號的是語句
{ foo : 123}
在大括號前加上圓括號
({ foo: 123})