js如何定义对象
用var关键字
JavaScript用一个{…}表示一个对象,键值对以xxx: xxx形式申明,用,隔开。
var 对象名字={
属性
方法
< script>
var xiaoming={
name:“worker”,
age:23,
salary:7000,
};
alert(worker.salary+worker.name+worker.age);
< /script>
};
注:
1、记得花括号后面的分号
2、每个属性用逗号隔开
访问属性是通过.操作符完成的,但这要求属性名必须是一个有效的变量名。如果属性名包含特殊字符,就必须用’'括起来:
var xiaohong = { name: ‘小红’,
‘middle-school’: ‘No.1 Middle School’
};
而xiaohong的属性名middle-school不是一个有效的变量,就需要用’'括起来。访问这个属性也无法使用.操作符,必须用[‘xxx’]来访问:
xiaohong[‘middle-school’]; // ‘No.1 Middle School’
xiaohong[‘name’]; // ‘小红’
xiaohong.name; // ‘小红’
由于js是对象是一个动态类型,你可以自由的给对象添加或删除属性:
判断属性是否在对象里面:用 in 格式: ‘属性’ in 对象名;是返回true否返回false
但要注意如果in判断一个属性存在,这个属性不一定是本身的,它可能是继承得到的:
要判断一个属性是否是xiaoming自身拥有的,而不是继承得到的,可以用hasOwnProperty()方法:
worker.hasOwnOperty(‘name’);
如何遍历对象用in:
< html lang=“en”>
< head>
< meta charset=“UTF-8”>
< title>Document< /title>
< script>
var worker={
name:“xiaoming”,
age:23,
salary:7000,
‘middle-school’: ‘No.1 Middle School’
};
// 动态添加属性
worker.time;
worker.time=20;
worker.weight=100;
// 删除属性
delete worker.weight;
delete worker[‘weight’];
// alert(worker.salary+worker.name+worker.age);
document.write(worker.time+"
");
document.write(worker.weight+"
");
document.write(worker.name+"
");
document.write(worker[‘name’]+"
");
document.write(worker[‘middle-school’]+"
");
document.write(worker.mother);
// 如何遍历对象
for(var k in worker)
{
document.write(k+’:’+worker[k]);
}
< /script>
< /head>
< body>
< /body>
< /html>