1. 概念
JavaScript不仅是支持对象的,而且一切皆为对象。
既然对象在JavaScript中是那样的普遍存在,所以JavaScript自带eval()函数用于将字符串转换为JavaScript对象。
例如:
<html>
<head>
<title>我的个人主页</title>
</head>
<body>
<script type="text/javascript">
var str='{"name":"maoge","age":20}';
var obj = eval('(' + str + ')');
console.log(obj);
</script>
</body>
</html>
1
2
3
4
5
6
7
8
9
10
11
12
测试结果:
/*下面是chrome浏览器的console输出内容*/
Object {name: "maoge", age: 20}
1
2
2. 定义对象
可以直接定义对象,注意JavaScript对象定义和json字符串内容是有区别的,json中name、age是键,需要双引号包围。而JavaScript中name、age是属性名称,直接写名字就行。
var person={name:"maoge",age:20};
1
作为动态语言,也可以先定义一个对象,再添加属性。
var person=new Object();
person.name="maoge";
person.age=20;
1
2
3
也可以使用function和this关键字,好处是可以有构造函数。
//定义
function person(name,age)
{
this.name=name;
this.age=age;
function changeName(inputName)
{
this.name=inputName;
}
}
//初始化并赋值
var p=new person("mm","22");
console.log(p);
1
2
3
4
5
6
7
8
9
10
11
12
13
3. 属性遍历
JavaScript的对象的属性可以使用for in来遍历,例如:
var person=new Object();
person.name="maoge";
person.age=20;
for(x in person)
{
console.log(x);//输出name age
console.log(person[x]);//输出maoge 20
}