官术网_书友最值得收藏!

7.4 數(shù)組的屬性

視頻講解

在數(shù)組對(duì)象中有l(wèi)ength和prototype兩個(gè)屬性。下面分別對(duì)這兩個(gè)屬性進(jìn)行詳細(xì)介紹。

7.4.1 length屬性

length屬性用于返回?cái)?shù)組的長(zhǎng)度。

語(yǔ)法如下:

    arrayObject.length

參數(shù)說明。

arrayObject:數(shù)組名稱。

例如,獲取已創(chuàng)建的數(shù)組對(duì)象的長(zhǎng)度。代碼如下:

    01  var arr=new Array(1,2,3,4,5,6,7,8);  //定義數(shù)組
    02  document.write(arr.length);          //輸出數(shù)組的長(zhǎng)度

運(yùn)行結(jié)果為:

    8

例如,增加已有數(shù)組的長(zhǎng)度。代碼如下:

    01  var arr=new Array(1,2,3,4,5,6,7,8);  //定義數(shù)組
    02  arr[arr.length]=arr.length+1;        //為新的數(shù)組元素賦值
    03  document.write(arr.length);          //輸出數(shù)組的新長(zhǎng)度

運(yùn)行結(jié)果為:

    9

注意

(1)當(dāng)用new Array()創(chuàng)建數(shù)組時(shí),并不對(duì)其進(jìn)行賦值,length屬性的返回值為0。

(2)數(shù)組的長(zhǎng)度是由數(shù)組的最大下標(biāo)決定的。

例如,用不同的方法創(chuàng)建數(shù)組,并輸出數(shù)組的長(zhǎng)度。代碼如下:

    01  var arr1 = new Array();                                  //定義數(shù)組arr1
    02  document.write("數(shù)組arr1的長(zhǎng)度為:"+arr1.length+"<p>");  //輸出數(shù)組arr1的長(zhǎng)度
    03  var arr2 = new Array(3);                                 //定義數(shù)組arr2
    04  document.write("數(shù)組arr2的長(zhǎng)度為:"+arr2.length+"<p>");  //輸出數(shù)組arr2的長(zhǎng)度
    05  var arr3 = new Array(1,2,3,4,5);                           //定義數(shù)組arr3
    06  document.write("數(shù)組arr3的長(zhǎng)度為:"+arr3.length+"<p>");   //輸出數(shù)組arr3的長(zhǎng)度
    07  var arr4 = [5,6];                                         //定義數(shù)組arr4
    08  document.write("數(shù)組arr4的長(zhǎng)度為:"+arr4.length+"<p>");  //輸出數(shù)組arr4的長(zhǎng)度
    09  var arr5 = new Array();                                 //定義數(shù)組arr5
    10  arr5[9] = 100;                                          //為下標(biāo)為9的元素賦值
    11  document.write("數(shù)組arr5的長(zhǎng)度為:"+arr5.length+"<p>");  //輸出數(shù)組arr5的長(zhǎng)度

運(yùn)行結(jié)果如圖7.4所示。

圖7.4 輸出數(shù)組的長(zhǎng)度

【例7.02】將東北三省的省份名稱、省會(huì)城市名稱以及3個(gè)城市的旅游景點(diǎn)分別定義在數(shù)組中,應(yīng)用for循環(huán)語(yǔ)句和數(shù)組的length屬性,將省份、省會(huì)以及旅游景點(diǎn)循環(huán)輸出在表格中。代碼如下:(實(shí)例位置:資源包\源碼\07\7.02)

    01  <table cellspacing="1" bgcolor="#CC00FF">
    02    <tr height="30" bgcolor="#FFFFFF">
    03     <td align="center" width="50">序號(hào)</td>
    04     <td align="center" width="100">省份</td>
    05     <td align="center" width="100">省會(huì)</td>
    06     <td align="center" width="260">旅游景點(diǎn)</td>
    07    </tr>
    08  <script type="text/javascript">
    09  var province=new Array("黑龍江省","吉林省","遼寧省");          //定義省份數(shù)組
    10  var city=new Array("哈爾濱市","長(zhǎng)春市","沈陽(yáng)市");              //定義省會(huì)數(shù)組
    11  var tourist=new Array("太陽(yáng)島 圣索菲亞教堂 中央大街","凈月潭 長(zhǎng)影世紀(jì)城 動(dòng)植物公園",
                            "沈陽(yáng)故宮 沈陽(yáng)北陵 張氏帥府");            //定義旅游景點(diǎn)數(shù)組
    12  for(var i=0; i<province.length; i++){                          //定義for循環(huán)語(yǔ)句
    13     document.write("<tr height=26 bgcolor='#FFFFFF'>");        //輸出<tr>開始標(biāo)記
    14     document.write("<td align='center'>"+(i+1)+"</td>");       //輸出序號(hào)
    15     document.write("<td align='center'>"+province[i]+"</td>");  //輸出省份名稱
    16     document.write("<td align='center'>"+city[i]+"</td>");      //輸出省會(huì)名稱
    17     document.write("<td align='center'>"+tourist[i]+"</td>");  //輸出旅游景點(diǎn)
    18     document.write("</tr>");                                   //輸出</tr>結(jié)束標(biāo)記
    19  }
    20  </script>
    21  </table>

運(yùn)行結(jié)果如圖7.5所示。

圖7.5 輸出省份、省會(huì)和旅游景點(diǎn)

7.4.2 prototype屬性

prototype屬性可以為數(shù)組對(duì)象添加自定義的屬性或方法。

語(yǔ)法如下:

    Array.prototype.name=value

參數(shù)說明。

 name:要添加的屬性名或方法名。

 value:添加的屬性的值或執(zhí)行方法的函數(shù)。

例如,利用prototype屬性自定義一個(gè)方法,用于顯示數(shù)組中的最后一個(gè)元素。代碼如下:

    01  Array.prototype.outLast=function(){       //自定義outLast()方法
    02      document.write(this[this.length-1]);  //輸出數(shù)組中最后一個(gè)元素
    03  }
    04  var arr=new Array(1,2,3,4,5,6,7,8);       //定義數(shù)組
    05  arr.outLast();                            //調(diào)用自定義方法

運(yùn)行結(jié)果為:

    8

該屬性的用法與String對(duì)象的prototype屬性類似,下面以實(shí)例的形式對(duì)該屬性的應(yīng)用進(jìn)行說明。

【例7.03】應(yīng)用數(shù)組對(duì)象的prototype屬性自定義一個(gè)方法,用于顯示數(shù)組中的全部數(shù)據(jù)。程序代碼如下:(實(shí)例位置:資源包\源碼\07\7.03)

    01  <script type="text/javascript">
    02  Array.prototype.outAll=function(ar){  //自定義outAll()方法
    03     for(var i=0;i<this.length;i++){    //定義for循環(huán)語(yǔ)句
    04        document.write(this[i]);        //輸出數(shù)組元素
    05        document.write(ar);             //輸出數(shù)組元素之間的分隔符
    06     }
    07  }
    08  var arr=new Array(1,2,3,4,5,6,7,8);   //定義數(shù)組
    09  arr.outAll(" ");                      //調(diào)用自定義的outAll()方法
    10  </script>

運(yùn)行結(jié)果如圖7.6所示。

圖7.6 應(yīng)用自定義方法輸出數(shù)組中的所有數(shù)組元素

主站蜘蛛池模板: 珲春市| 深泽县| 长白| 张掖市| 山东省| 个旧市| 武安市| 手游| 岳西县| 景德镇市| 阳西县| 万源市| 安溪县| 吉隆县| 平江县| 修文县| 淄博市| 锦州市| 固原市| 荥阳市| 无锡市| 囊谦县| 沈丘县| 安吉县| 临沧市| 清流县| 华宁县| 长春市| 建瓯市| 长沙市| 资中县| 峨山| 如皋市| 英山县| 临邑县| 宜宾县| 罗甸县| 江油市| 平南县| 宁都县| 湖州市|