對象
JavaScript的對象是一種無序的集合數(shù)據(jù)類型,他由若干鍵值對組成
對象用一個{...}
表示,鍵值對以xxx : xx
形式申明,用,
隔開。
注意:最后一個鍵值對后面不用加,
var xiaoming = {
name : '小明',
birth : 1990,
school : 'No.1 Middle School',
height : 1.70,
weight : 65,
score : null
};
獲取對象的屬性
xiaoming.name; // ‘小明’
xiaoming.birth; // 1990
如果屬性名中包含特殊字符,要用''
括起來,例如:
var xiaohong = {
name : '小紅',
'middle-school' : 'No.1 Middle School'
};
xiaohong
的屬性名middle-school
不是一個有效的變量,就需要用''
括起來。訪問這個屬性也無法用.
操作符,必須用['xxx']
來訪問
xiaohong['middle-school']; // 'No.1 Middle School'
xiaohong['name']; // 也可以用xiaohong['name']訪問xiaohong的name屬性
xiaohong.age; // 如果訪問一個不存在的屬性,會返回undefeated
JavaScript的對象是動態(tài)類型,可以自由的給一個對象添加或刪除屬性
var xiaoming = {
name : '小明'
};
xiaoming.age; // undefeated
xiaoming.age = 19; // 新增一個age屬性
xiaoming.age; // 返回 18
delete xiaoming.age; // 刪除age屬性
xiaoming.age; // undefeated
delete xiaoming.school; // 刪除一個不存在的屬性也不會報錯
檢測某一屬性是否存在可以用in
操作符
var xiaoming = {
name : '小明',
birth : 1990,
school : 'No.1 Middle School',
height : 1.70,
weight : 65,
score : null
};
'name' in xiaoming; // true;
'grade' in xiaoming; // false;
'toString' in xiaoming; // true;
注意,如果in
判斷一個屬性存在,這個屬性不一定是xiaoming
的,而可能是它繼承的!!!
要判斷一個屬性是否是xiaoming
自身用后的,而不是繼承得到的可以用 hasOwnProperty()
;
var xiaoming = {
name = '小明'
};
xiaoming.hasOwnProperty('name'); // true;
xiaoming.hasOwnProperty('toString'); // false;
筆記整理自廖雪峰JavaScript教程