作者:Flyingis
一般在JavaScript中可以调用Object类的构造函数来创建对象:
var
obj
=
new
Object();
并且可以将对象附加到其他对象上,类似于C++中的对象数组,例如,某大学里拥有多个专业,每个专业都有一位主任和多名讲师组成,在JavaScript中可以这样来描述:
var
university
=
new
Object();
university.specialty
=
new
Array();
university.specialty[
0
]
=
new
Object();

//
该专业的主任是Sam
university.specialty[
0
].director.name
=
"
Sam
"
;
university.specialty[
0
].director.age
=
40
;

//
该专业的两位讲师分别是Tom和Jerry
university.specialty[
0
].instructor
=
new
Array();

var
tom
=
new
Object();
tom.name
=
"
Tom
"
;
tom.age
=
32
;
university.specialty[
0
].instructor[
0
]
=
tom;

var
jerry
=
new
Object();
jerry.name
=
"
Jerry
"
;
jerry.age
=
"
35
"
;
university.specialty[
0
].instructor[
1
]
=
jerry;
可以看出,当对主任和讲师有更详细的描述时,这样一层层的代码给人感觉非常繁琐,许多代码都是重复编写,不但增加了代码量,并且还很枯燥。
JSON是一种轻量级的数据交换格式,它的优点就是便于读写,可以将JavaScript中的对象及其赋值写成键值对的形式,例如上面代码通过JSON来描述可以写成:
var
university
=
{
specialty : [

{
director : [
name : "Sam",
age : 40
],
instructor : [

{name : "Tom", age : 32}

{name : "Jerry", age : 35}
]
}
]
}
这样来描述整个对象的内部结构显得更为简洁、清晰,除了声明属性和对象外,还可以使用JSON创建的对象定义成员函数。当然,不论采用何种方法来描述,目的都是为了更高效直观的编写JavaScript代码,我们可以使用JSON定义一个对象,然后使用JavaScript添加属性,也可以使用JSON来扩展JavaScript所定义的对象,创建任意复杂的对象层次。
一般在JavaScript中可以调用Object类的构造函数来创建对象:

并且可以将对象附加到其他对象上,类似于C++中的对象数组,例如,某大学里拥有多个专业,每个专业都有一位主任和多名讲师组成,在JavaScript中可以这样来描述:




















可以看出,当对主任和讲师有更详细的描述时,这样一层层的代码给人感觉非常繁琐,许多代码都是重复编写,不但增加了代码量,并且还很枯燥。
JSON是一种轻量级的数据交换格式,它的优点就是便于读写,可以将JavaScript中的对象及其赋值写成键值对的形式,例如上面代码通过JSON来描述可以写成:






















这样来描述整个对象的内部结构显得更为简洁、清晰,除了声明属性和对象外,还可以使用JSON创建的对象定义成员函数。当然,不论采用何种方法来描述,目的都是为了更高效直观的编写JavaScript代码,我们可以使用JSON定义一个对象,然后使用JavaScript添加属性,也可以使用JSON来扩展JavaScript所定义的对象,创建任意复杂的对象层次。