JavaScript对象及相关操作
JavaScript的对象是一种无序的集合数据类型,它由若干键值对组成。
JavaScript的对象用于描述现实世界中的某个对象。
JavaScript的对象类似于Python中的字典。
var person = {
name: '小明',
birth: 1990,
school: 'No.1 Middle School',
height: 1.70,
weight: 65,
score: null
}
1、定义一个对象
var 对象名 = {
key: 'value',
key: 'value',
key: 'value'
}
2、获取对象的属性
对象.属性
3、由于JavaScript的对象是动态类型,你可以自由地给一个对象添加或删除属性
var xiaoming = {
name: '小明'
};
xiaoming.age; // undefined
xiaoming.age = 18; // 新增一个age属性
xiaoming.age; // 18
delete xiaoming.age; // 删除age属性
xiaoming.age; // undefined
delete xiaoming['name']; // 删除name属性
xiaoming.name; // undefined
delete xiaoming.school; // 删除一个不存在的school属性也不会报错
4.***如果我们要检测对象是否拥有某一属性,可以用 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
不过要小心,如果用in判断一个属性存在,这个属性不一定是这个对象的,它可能是这个对象继承得到的:
'toString' in xiaoming; // true
因为 toString
定义在 object
对象中,而所有对象最终都会在原型链上指向 object
,所以xiaoming 也拥有 toString
属性。
要判断一个属性是否是 xiaoming 自身拥有的,而不是继承得到的,可以用 hasOwnProperty()
方法:
var xiaoming = {
name: '小明'
};
xiaoming.hasOwnProperty('name'); // true
xiaoming.hasOwnProperty('toString'); // false