JScript 中的數組是稀疏的。也就是說,假如一個數組具有三個元素,編號分別為 0、1 和 2,您就可以創建元素 50,而不必擔心從 3 到 49 的參數。假如該數組有一個自動的 length 變量,(請參閱內部對象了解有關數組長度的自動監控的說明),該 length 變量被設為 51,而不是 4。當然您可以創建各元素的編號之間沒有間隙的數組,不過沒有必要這樣做。
在 JScript 中,對象和數組幾乎相同。兩個主要差別是對象沒有自動長度屬性,而數組沒有對象的屬性和方法。
使用方括號“[]”來尋址數組。方括號中是一個數值或一個值為整數的表達式。下面的示例假定在腳本的其他地方已定義了entryNum 變量,且已賦值。
theListing = addressBook[entryNum];
theFirstLine = theListing[1];
通常,使用點運算符“.”訪問對象的屬性。例如,
myObject.aProperty
在這裡,屬性名稱是一個標識符。也可以用索引運算符“[]”訪問對象的屬性。在這裡,是把對象看作一個關聯數組。關聯數組是一種數據結構,它可以動態地將任意的數據的值與任意的字符串相關聯。例如,
myObject["aProperty"] //
與上面相同。
盡管索引運算符更多地用於訪問數組元素,當用於對象時,索引總是以字符串文字表示的屬性名稱。
注重訪問對象屬性的兩種方法的重要差異。
在運行之前並不知道屬性名稱時,這個差異會有用(比如基於用戶輸入構造對象時)。要想從一個關聯數組提取所有的屬性,必須用 for … in 循環。