創建數組的第二種基本方式是使用數組字面量表示法。數組字面量由一對包含數組項的方括號表示,多個數組之間以逗號隔開,如下所示:
var colors=["red","blue","green"]j //創建一個包含3個字符串的數組
var names=[]; //創建一個空數組
var values=[1,2,]; //不要這樣!這樣會創建一個包含2或3項的數組
var options=[,,,,]; //不要這樣!這樣會創建一個包含5或6項的數組
以上代碼的第一行創建了一個包含3個字符串的數組。第二行使用一對空方括號創建了一個空數組。第三行展示了在數組字面量的最后一項添加逗號的結果:在IE中,values會成為一個包含3個項且每項的值分別為1、2和undefined的數組;在其他瀏覽器中,values會成為一個包含2項且值分別為l和2的數組。南昌網絡公司做網站公司提醒廣開發人員,出現這種情況的主原因是IE的ECMAScript實現在數組字面量方面存在bug。由于這個bug導致的另一種情況如最后一行代碼所示,該行代碼可能會創建包含5項的數組(在Firefox. Opera. Safari和Chrome中),也可能會創建包含6項的數組(在IE中)。在像這種省略值的情況下,每一項都將獲得undefined值;這個結果與調用Array構造函數時傳遞項數在邏輯土是相同的。但是由于IE的實現與其他瀏覽器不一致,因此我們強烈建議不要使用這種語法。
與對象一樣,在使用數組字面量表示法時,也不會調用Array構造函數(Firefox除外)。
在讀取和設置數組的值時,要使用方括號并提供相應值的基于0的數字索引,如下所示:
var colors=["red","blue","green"]; //定義一個字符串數組
alert (colors[O]); //顯示第一項
colors [2]="black"; //修改第三項
colors[3]="brown"; //新增第四項
方括號中的索引表示要訪問的值。南昌建網站公司工程師提示,如果索引小于數組中的項數,則返回對應項的值,就像這個例子中的colors[o]會顯示"red"一樣。設置數組的值也使用相同的語法,但會替換指定位置的值。如果設置某個值的索引超過了數組現有項數,如這個例子中的colors[3]所示,數組就會自動增加到該索引值加l的長度(就這個例子而言,索引是3,因此數組長度就是4)。
數組的項數保存在其length屬性中,這個屬性始終會返回0或更大的值,如下面這個例子所示:
var colors=["red","blue","green"]; //創建一個包含3個字符串的數組
var names=[]; //創建一個空數組
alert(colors.length); //3
alert(names.length); //0
數組的length屬性很有特點——它不是只讀的。因此,通過設置這個屬性,可以從數組的末尾移除項或向數組中添加新項。請看下面的例子:
var colors=["red","blue","green"]; //創建一個包含3個字符串的數組
colors.length = 2;
alert(colors(2)); //undefined
這個例子中的數組colors -開始有3個值。將其length屬性設置為2會移除最后一項(位置為2的那一項),結果再訪問colors[2]就會顯示unde fined了。如果將其length屬性設置為大于數組項數的值,則新增的每一項都會取得undefined值,如下所示:
var colors=["red","blue","green"]; //創建一個亂會3個字符串的數組
colors.length = 4;
alert(colors(3)); //undefined
在此南昌網頁設計公司工程師提示,雖然colors數組包含3個項,但把它的length屬性設置成了4。于是,這個數組中位置為3的那一項就獲得了unde fined值,數組的項數也增加到4。 利用length屬性也可以方便地在數組末尾添加新項,如下所示:
var colors=["red","blue","green"]; //創建一個包含3個字符串的數組
colors[colors.length] = "black"; //(在位置3)添加一種顏色
colors[colors.length] = "brown"; //(在位置4)添加一種顏色
由于數組最后一項的索引始終是length-l,因此下一個新項的位置就是length。每當在數組末尾添加一項后,其length屬性都會自動更新以反應這一變化。換句話說,上面例子第二行中的 colors[colors .length]為位置3添加了一個值,最后一行的colors[ colors .length]則為位置4添加了一個值。當把一個值放在超出當前數組大小的位置上時,數組就會重新計算其長度值,即長度值等于最后一項的索引加l,如下面的例子所示:
var colors=["red","blue","areen"]; //創建一個包含3個字符串的數組
colors[99] = "black"; //(在位置99)添加一種顏色
alert(colors.length); //100
在這個例子中,我們向colors數組的位置99插入了一個值,結果數組新長度(length)就是100 (99+1)。而從位置3到位置98的每一項,都將獲得undefined值。
南昌網站建設公司百恒網絡前端開發工程師提示,數組最多可以包含4294967295個項,這幾乎已經能夠滿足任何編程需求了,如果想添加的項數超過這個上限值,就會發生異常.而創建一個初始大小與這個上限值接近的數組,則可能會導致運行時間超長的腳本錯誤.
希望本文對廣大站長或從事企業網站建設公司的團隊有所幫助,如對此不太理解的,可以與南昌做網站公司百恒網絡技術部聯系。我們很高興與廣大站長和從事企業網站建設公司技術人員分享我們的技術和經驗。