对象
JavaScript的对象是一种无序的集合数据类型,他由若干键值对组成
对象用一个{...}
表示,键值对以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的对象是动态类型,可以自由的给一个对象添加或删除属性
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教程
网友评论