學習js一段時間,一度搞不清楚“數組”和對象的根本區別。二者都可以用來表示數據的集合。
比如說一個數組是a=【1,2,3,4】,一個對象是a={0:1,1:2,2:3,3:4}
輸出alert(a[1]),二者的輸出結果相同。花了一點時間整理了我對對象和數組的理解。
區別一:
數組是有序數據的集合,而對象是無序數據的集合。
區別二:
數組的數據沒有名稱,只有下標,而對象的數據需要指定名稱。
學過其他語言的人可能會提出“關聯數組“是可以有名稱的。
比如在js中,可以這樣定義一個關聯數組:
a【“城市”】= “北京”;
a【“面積”】= “168561”
a【“入口”】= “14455”;
很明顯,關聯數組的數值是有名稱的,但是,在js中關聯數組被認為是一個對象,而不是數組。
這和其他語言不一樣比如php中關聯數組是一個數組。