使用 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所定義的對象,創建任意復雜的對象層次。
??? 一般在JavaScript中可以調用Object類的構造函數來創建對象:

??? 并且可以將對象附加到其他對象上,類似于C++中的對象數組,例如,某大學里擁有多個專業,每個專業都有一位主任和多名講師組成,在JavaScript中可以這樣來描述:




















??? 可以看出,當對主任和講師有更詳細的描述時,這樣一層層的代碼給人感覺非常繁瑣,許多代碼都是重復編寫,不但增加了代碼量,并且還很枯燥。
??? JSON是一種輕量級的數據交換格式,它的優點就是便于讀寫,可以將JavaScript中的對象及其賦值寫成鍵值對的形式,例如上面代碼通過JSON來描述可以寫成:














??? 這樣來描述整個對象的內部結構顯得更為簡潔、清晰,除了聲明屬性和對象外,還可以使用JSON創建的對象定義成員函數。當然,不論采用何種方法來描述,目的都是為了更高效直觀的編寫JavaScript代碼,我們可以使用JSON定義一個對象,然后使用JavaScript添加屬性,也可以使用JSON來擴展JavaScript所定義的對象,創建任意復雜的對象層次。
posted on 2006-09-11 19:33 Flyingis 閱讀(3936) 評論(1) 編輯 收藏 所屬分類: Web 客戶端技術