对象是一种无序的集合数据类型,它由若干键值对组成
JavaScript的对象用于描述现实世界中的某个对象
1. 对象
通过 {}来表示一个对象
var xiaoming = {
name: '小明',
birth: 1990,
school: 'No.1 Middle School',
height: 1.70,
weight: 65,
score: null
};
2. 访问对象的某个属性
用. 或者 []
此外,访问不存在的属性不报错,而是返回undefined
xiaoming.name //小明
xiaoming['name'] //小明
3. 给对象新增属性
var xiaoming = {
name: '小明'
};
xiaoming.age; // undefined
xiaoming.age = 18; // 新增一个age属性
xiaoming.age; // 18
4. 删除属性
delete xiaoming.age; // 删除age属性
xiaoming.age; // undefined
delete xiaoming['name']; // 删除name属性
xiaoming.name; // undefined
delete xiaoming.school; // 删除一个不存在的school属性也不会报错
5. in操作
检测对象是否拥有某一属性,如果in判断一个属性存在,这个属性不一定是这个对象的,它也可能是本对象继承得到的
var xiaoming = {
name: '小明',
birth: 1990,
school: 'No.1 Middle School',
};
'name' in xiaoming; // true
'grade' in xiaoming; // false
'toString' in xiaoming; // true ,因为toString定义在object对象中,而所有对象最终都会在原型链上指向object,所以xiaoming也拥有toString属性
6. hasOwnProperty
判断一个属性是否是该对象自身拥有的,而不是继承得到的
var xiaoming = {
name: '小明'
};
xiaoming.hasOwnProperty('name'); // true
xiaoming.hasOwnProperty('toString'); // false