作者: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所定义的对象,创建任意复杂的对象层次。