JS中對象與數組(大括號{}與中括號[])


一、{ } 大括號,表示定義一個對象,大部分情況下要有成對的屬性和值,或是函數。 
如: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 ) ;


 

問題一:

var obj1 = { 100: "a", 2: "b", "7": "c", "e": "123"};
obj1.100和obj1.7都不正確,可以這樣 obj1[100]和obj1[7]、obj1['100']

問題二:

'use strice'; 
var ar = Array(5,6,7);
Object.prototype.toString.call(ar); //"[object Array]"
ar[3]=33;
ar //(4) [5, 6, 7,33]

ar['ss'] =99;
ar //(4) [5, 6, 7, 33, ss: 99]

數組ar長度為4,但是ar['ss']正常,且可以對象方式表示ar.ss

總結:

      對象的屬性名可以為數字,但是不能正常讀取,可以以數組下標形式讀取。

      數組中可以存在類似於分健值對,讀取發數組方式或對象方式都可以,但是數組長度不正常


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM