Flyingis

          Talking and thinking freely !
          Flying in the world of GIS !
          隨筆 - 156, 文章 - 16, 評論 - 589, 引用 - 0
          數據加載中……

          使用 JSON 創建對象

          ??? 作者: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所定義的對象,創建任意復雜的對象層次。

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

          評論

          # re: 使用 JSON 創建對象  回復  更多評論   

          恩,類似XML
          2006-12-11 18:35 | Coody Sk8er
          主站蜘蛛池模板: 林芝县| 吐鲁番市| 正镶白旗| 广安市| 西华县| 钦州市| 宝坻区| 泗阳县| 蛟河市| 慈利县| 清水县| 玉田县| 广水市| 宜良县| 文化| 紫云| 贺兰县| 和硕县| 通渭县| 板桥市| 嘉义市| 荆门市| 台前县| 原阳县| 锦州市| 娱乐| 开封县| 土默特左旗| 汤原县| 博兴县| 梅河口市| 康保县| 休宁县| 隆林| 九江市| 双流县| 高碑店市| 甘孜县| 新疆| 芜湖市| 遂平县|