如下代码所示:
JavaScript的对象都采用键值对的形式来表示,键都是字符串,可以通过若干的键值对来表示一个对象。
//定义对象,用属性描述一个事物
var xiaoming =
{
name : 'xiaoming',
age: 22
}
//输出xiaoming的姓名
xiaoming.name;
"xiaoming"
//输出xiaoming的年龄
xiaoming.age;
22
//动态给xiaoming对象添加属性
xiaoming.gender = 'M';
"M"
//输出xiaoming的gender属性
xiaoming.gender;
"M"
//删除xiaoming的年龄属性
delete xiaoming.age
true
//输出的时候显示未定义
xiaoming.age;
undefined
//删除xiaoming一个不存在的属性的时候不会报错
delete xiaoming.score;
true
//动态设置xiaoming的属性
xiaoming.height= 170;
170
//使用in来判断这个属性是不是属于对象,但是这个是错的,因为JavaScript的属性的键都是字符串类型,需要采用引号
name in xiaoming;
false
//这是对的
'name' in xiaoming;
true
//因为age属性已经删除,所以显示false
'age' in xiaoming;
false
//tostring也显示true,但是tostring是继承Object得来的
'toString' in xiaoming;
true
//这时候就是用hasOwnProperty来进行判断
xiaoming.hasOwnProperty('name');
true
//如果是继承得来的,就会输出false
xiaoming.hasOwnProperty('toString');
false
xiaoming.hasOwnProperty('height');
true