var obj={};obj[1] = "mm";obj[2]="nn";console.log(obj[1]);
同var obj={};obj["1"] = "mm";obj["2"]="nn";console.log(obj["1"]);
其實創建對象的時候還可以這么寫
var obj={};obj["mm"] = "mm";obj["nn"]="nn";console.log(obj["mm"]);
var
obj = {
name:
'lily'
,
year:
'20'
}
alert(obj.year);
var
y =
'year'
;
// 用變量獲取
alert(obj[y]);
對象的屬性確實可以通過類似於通過訪問數組的中括號形式進行訪問。
原理上來講,是js這樣設計的,很多弱類型語言都是如此設計。
可是並不能理解為對象跟數組沒區別,例如說,你可以使用Array類型方括號的形式訪問Object類型數據的屬性。但是反過來,不能使用Object的點號訪問Array類型數據的內容。
在js里,Key對應Value的數據結構,其實都是Object類型的,Array類型的數據都是一維的,數字下標的數據集合。