javascript 中{}和[] 的理解

weixin_33894992發表於2015-04-29

下面的一段解釋是摘抄的,基本理解正確,做個記錄。其實js中陣列其實就是物件,typeof(['a', 'b', 'c'])//測試之後結果為 :  "object"

 

一、{ } 大括號,表示定義一個物件,大部分情況下要有成對的屬性和值,或是函數。
如:var LangShen = {"Name":"Langshen","AGE":"28"};
上面宣告瞭一個名為“LangShen”的物件,多個屬性或函式用,(逗號)隔開,因為是物件的屬性,
所以訪問時,應該用.(點)來層層訪問:LangShen.Name、LangShen.AGE,當然我們也可以用陣列的方式來訪問,如:LangShen["Name"]、LangShen["AGE"],結果是一樣的。
該寫法,在JSON資料結構中經常用,除此之外,我們平時寫函式組的時候,也經常用到,如:
var LangShen = {
      Name : function(){
                 return "LangShen";
                  },
     Age : function(){
                return "28";
                }
}
呼叫方式差不多,因為是函式組,所以要加上(),如:alert( LangShen.Name() );
二、[ ]中括號,表示一個陣列,也可以理解為一個陣列物件。
如:var LangShen = [ "Name","LangShen","AGE","28" ];
很明顯,每個值或函式,都是獨立的,多個值之間只用,(逗號)隔開,因為是陣列物件,所以它等於:
var LangShen = Array( "Name","LangShen","AGE","28" );
訪問時,也是和陣列一樣,alert( LangShen[0] );
三、{ } 和[ ] 一起使用,我們前面說到,{ } 是一個物件,[ ] 是一個陣列,我們可以組成一個物件陣列,如:
var LangShen = { "Name":"Langshen",
                          "MyWife":[ "LuLu","26" ],
                          "MySon":[{"Name":"Son1"},{"Name":"Son2"},{"Name":"Son3"}]
}
從上面的結構來看,是一個物件裡面的第一項是個屬性,第二項是一個陣列,第三個是包含有多個物件的陣列。呼叫起來,也是一層一層訪問,物件的屬性用.(點)疊加,陣列用 [下標] 來訪問。
如:alert( LangShen.MySon[1].Name ) ;

 

相關文章