1. 程式人生 > >學習:JS中陣列和物件的之間的關聯、區別

學習:JS中陣列和物件的之間的關聯、區別

在jscript中陣列和物件幾乎相同,兩者主要的差別是物件沒有自動長度屬性,而陣列沒有物件的屬性和方法。

陣列定址

使用方括號"[]"來定址陣列。方括號中是一個數值或一個值為整數的表示式。

將物件作為關聯陣列

通常,使用點運算子“.”訪問物件的屬性。例如,

myObject.aProperty

在這裡,屬性名稱是一個識別符號。

也可以用索引運算子“[]”訪問物件的屬性。在這裡是把物件看作是一個關聯陣列。

關聯陣列是一種資料結構,它可以動態地將任意的資料的值與任意的字串相關聯。例如,

myObject["aProperty"] // 與上面相同。

儘管索引運算子更多的用於訪問陣列元素,當用於物件時,索引總是以字串文字來表示屬性名稱

運算子 屬性名稱作為 對屬性名稱的處理
點“.” 識別符號 不能作為資料處理
索引“[]” 字串文字 被作為資料處理

在執行之前並不知道屬性名稱時,這個差異會有用(比如基於使用者輸入構造物件時)。要想從一個關聯陣列提取所有的屬性,必須用 for … in 迴圈。