- JavaScript從入門到精通(微視頻精編版)
- 明日科技
- 1041字
- 2020-09-01 15:02:29
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ù)組元素
- JavaScript從入門到精通(微視頻精編版)
- Android Jetpack開發(fā):原理解析與應(yīng)用實(shí)戰(zhàn)
- Vue.js 2 and Bootstrap 4 Web Development
- 編寫高質(zhì)量代碼:改善C程序代碼的125個(gè)建議
- Mastering RStudio:Develop,Communicate,and Collaborate with R
- Apache Mesos Essentials
- 焊接機(jī)器人系統(tǒng)操作、編程與維護(hù)
- 圖數(shù)據(jù)庫(kù)實(shí)戰(zhàn)
- 零代碼實(shí)戰(zhàn):企業(yè)級(jí)應(yīng)用搭建與案例詳解
- 現(xiàn)代C:概念剖析和編程實(shí)踐
- Flink入門與實(shí)戰(zhàn)
- VMware vSphere Design Essentials
- Bitcoin Essentials
- Learning Redux
- PHP 7 Programming Blueprints