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