Flyingis

          Talking and thinking freely !
          Flying in the world of GIS !
          隨筆 - 156, 文章 - 16, 評(píng)論 - 589, 引用 - 0
          數(shù)據(jù)加載中……

          使用 JSON 創(chuàng)建對(duì)象

          ??? 作者:Flyingis

          ??? 一般在JavaScript中可以調(diào)用Object類的構(gòu)造函數(shù)來(lái)創(chuàng)建對(duì)象:

          var?obj?=?new?Object();

          ??? 并且可以將對(duì)象附加到其他對(duì)象上,類似于C++中的對(duì)象數(shù)組,例如,某大學(xué)里擁有多個(gè)專業(yè),每個(gè)專業(yè)都有一位主任和多名講師組成,在JavaScript中可以這樣來(lái)描述:

          var?university?=?new?Object();
          university.specialty?
          =?new?Array();
          university.specialty[
          0]?=?new?Object();

          //該專業(yè)的主任是Sam
          university.specialty[0].director.name?=?"Sam";
          university.specialty[
          0].director.age?=?40;

          //該專業(yè)的兩位講師分別是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;

          ??? 可以看出,當(dāng)對(duì)主任和講師有更詳細(xì)的描述時(shí),這樣一層層的代碼給人感覺非常繁瑣,許多代碼都是重復(fù)編寫,不但增加了代碼量,并且還很枯燥。

          ??? JSON是一種輕量級(jí)的數(shù)據(jù)交換格式,它的優(yōu)點(diǎn)就是便于讀寫,可以將JavaScript中的對(duì)象及其賦值寫成鍵值對(duì)的形式,例如上面代碼通過JSON來(lái)描述可以寫成:

          var?university?=?{
          ??specialty?:?[
          ??
          {
          ????director?:?[
          ??????name?:?
          "Sam",
          ??????age?:?
          40
          ????],
          ????instructor?:?[
          ??????
          {name?:?"Tom",?age?:?32}
          ??????
          {name?:?"Jerry",?age?:?35}
          ????]
          ??}

          ??]
          }

          ??? 這樣來(lái)描述整個(gè)對(duì)象的內(nèi)部結(jié)構(gòu)顯得更為簡(jiǎn)潔、清晰,除了聲明屬性和對(duì)象外,還可以使用JSON創(chuàng)建的對(duì)象定義成員函數(shù)。當(dāng)然,不論采用何種方法來(lái)描述,目的都是為了更高效直觀的編寫JavaScript代碼,我們可以使用JSON定義一個(gè)對(duì)象,然后使用JavaScript添加屬性,也可以使用JSON來(lái)擴(kuò)展JavaScript所定義的對(duì)象,創(chuàng)建任意復(fù)雜的對(duì)象層次。

          posted on 2006-09-11 19:33 Flyingis 閱讀(3935) 評(píng)論(1)  編輯  收藏 所屬分類: Web 客戶端技術(shù)

          評(píng)論

          # re: 使用 JSON 創(chuàng)建對(duì)象  回復(fù)  更多評(píng)論   

          恩,類似XML
          2006-12-11 18:35 | Coody Sk8er
          主站蜘蛛池模板: 兰溪市| 温泉县| 虞城县| 奉新县| 韶山市| 鹰潭市| 定襄县| 通海县| 台山市| 荆州市| 阿鲁科尔沁旗| 故城县| 天门市| 满洲里市| 城口县| 阿荣旗| 青冈县| 无为县| 重庆市| 乌拉特中旗| 桃江县| 成都市| 渝中区| 大方县| 建阳市| 郴州市| 梅河口市| 仁布县| 龙里县| 日照市| 屯留县| 越西县| 鄂伦春自治旗| 佛山市| 宽甸| 柳江县| 河北省| 南溪县| 清水河县| 青神县| 都安|