JSON語(yǔ)法 收藏
JSON:使用大括號({})語(yǔ)法創(chuàng )建無(wú)類(lèi)型對象
傳統的面向對象語(yǔ)言中,每個(gè)對象都會(huì )對應到一個(gè)類(lèi)。而上一節講this 指針時(shí)提到,JavaScript 中的對象其實(shí)就是屬性(方法)的一個(gè)集合,并沒(méi)有嚴格意義的類(lèi)的概念。所以它提供了另外一種簡(jiǎn)單的方式來(lái)創(chuàng )建對象,即大括號({})語(yǔ)法:
{
property1:statement,
property2:statement2,
…
propertyN:statmentN
}
通過(guò)大括號括住多個(gè)屬性或方法及其定義(這些屬性或方法用逗號隔開(kāi)),來(lái)實(shí)現對象的定義,這段代碼就直接定義個(gè)了具有n 個(gè)屬性或方法的對象,其中屬性名和其定義之間用冒號(:)隔開(kāi)。例如:
<script language="JavaScript" type="text/javascript">
var obj={}; //定義了一個(gè)空對象
var user={
name:"jack", //定義了name 屬性,初始化為jack
colors:["red","green"], // 定義了顏色數組
hello:function(){ alert("hello,"+this.name); } //定義了方法hello
sex:"male" //定義了性別屬性sex ,初始化為sex
}
user.hello(); //調用user 對象的方法hello
</script>
第一行定義了一個(gè)無(wú)類(lèi)型對象obj,它等價(jià)于:
var obj=new Object();
接著(zhù)定義了一個(gè)對象user 及其屬性和方法。注意,除了最后一個(gè)屬性(方法)定義,其他的必須以逗號(,)結尾。其實(shí),使用動(dòng)態(tài)增減屬性的方法也可以定義一個(gè)完全相同的user 對象,讀者不妨使用前面介紹的方法做一個(gè)嘗試。
使用這種方式來(lái)定義對象,還可以使用字符串作為屬性(方法)名,例如:
var obj={"001":"abc"}
這就給對象obj 定義了一個(gè)屬性“001”,這并不是一個(gè)有效的標識符,所以要引用這個(gè)屬性必須使用方括號語(yǔ)法:
obj["001"];
由此可見(jiàn),無(wú)類(lèi)型對象提供了一種創(chuàng )建對象的簡(jiǎn)便方式,它以緊湊和清晰的語(yǔ)法將一個(gè)對象體現為一個(gè)完整的實(shí)體。而且也有利于減少代碼的體積,這對JavaScript 代碼來(lái)說(shuō)尤其重要,因為要通過(guò)網(wǎng)絡(luò )來(lái)下載,減少體積意味著(zhù)提高了訪(fǎng)問(wèn)速度。
本文來(lái)自CSDN博客,轉載請標明出處:http://blog.csdn.net/ZKM_ZHANG/archive/2008/10/23/3128646.aspx
聯(lián)系客服