干熟妇在线视频午夜剧场一级A级|99成人香视频日本两性激情视频|久久 午夜福利无码精品人妻一区|热久久超碰精品精品少妇一区二区|五月天综合在线国产一区免费视频|亚洲成人中心热re久久99|亚洲国产怡红院丁香五月综合h|玖玖九久久久午夜射精视频

十年專注于品牌網(wǎng)站建設 十年專注于品牌網(wǎng)站建設,低調、高逼格、有情懷的網(wǎng)絡應用服務商!
南昌百恒網(wǎng)絡微信公眾號 掃一掃關注
小程序
tel-icon全國服務熱線:400-680-9298,0791-88117053
掃一掃關注百恒網(wǎng)絡微信公眾號
掃一掃打開百恒網(wǎng)絡微信小程序

百恒網(wǎng)絡

詳細講解JavaScript Array類型概念及使用(二)

百恒網(wǎng)絡 2012/3/10 2549

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

    希望本文對廣大站長或從事企業(yè)網(wǎng)站建設公司的團隊有所幫助,如對此不太理解的,可以與南昌做網(wǎng)站公司百恒網(wǎng)絡技術部聯(lián)系。我們很高興與廣大站長和從事企業(yè)網(wǎng)站建設公司技術人員分享我們的技術和經(jīng)驗。
南昌網(wǎng)站建設--百恒網(wǎng)絡,專業(yè)專注于南昌網(wǎng)站建設,為用戶提供高品質的網(wǎng)絡產(chǎn)品和優(yōu)質的服務是我們始終追求的目標!
 

400-680-9298,0791-88117053
掃一掃關注百恒網(wǎng)絡微信公眾號
掃一掃打開百恒網(wǎng)絡小程序

歡迎您的光顧,我們將竭誠為您服務×