国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > JS > 正文

認(rèn)識JavaScript數(shù)組對象的length屬性

2024-09-06 12:40:45
字體:
供稿:網(wǎng)友

很久沒寫B(tài)log了,最近總結(jié)了一些javascript不同于其他語言的特點,數(shù)組的length屬性就是一例。
數(shù)組對象僅有一個屬性,這個屬性就是length,它表示數(shù)組的長度,即其中元素的個數(shù)。因為數(shù)組的索引總是由0開始,所以一個數(shù)組的上下限分別是:0和length-1。和其他大多數(shù)語言不同的是,javascript數(shù)組的length屬性是可變的,這一點需要特別注意。當(dāng)length屬性被設(shè)置得更大時,整個數(shù)組的狀態(tài)事實上不會發(fā)生變化,僅僅是length屬性變大;當(dāng)length屬性被設(shè)置得比原來小時,則原先數(shù)組中索引大于或等于length的元素的值全部被丟失。下面是演示改變length屬性的例子:


var arr=[12,23,5,3,25,98,76,54,56,76]; 
//定義了一個包含10個數(shù)字的數(shù)組
alert(arr.length);  //顯示數(shù)組的長度10
arr.length=12;   //增大數(shù)組的長度
alert(arr.length);  //顯示數(shù)組的長度已經(jīng)變?yōu)?2

alert(arr[8]);   //顯示第9個元素的值,為56
arr.length=5;   //將數(shù)組的長度減少到5,索引等于或超過5的元素被丟棄
alert(arr[8]);   //顯示第9個元素已經(jīng)變?yōu)?undefined"
arr.length=10;   //將數(shù)組長度恢復(fù)為10
alert(arr[8]);   //雖然長度被恢復(fù)為10,但第9個元素卻無法收回,顯示"undefined"

由上面的代碼我們可以清楚的看到length屬性的性質(zhì)。但length對象不僅可以顯式的設(shè)置,它也有可能被隱式修改。javascript中可以使用一個未聲明過的變量,同樣,也可以使用一個未定義的數(shù)組元素(指索引超過或等于length的元素),這時,length屬性的值將被設(shè)置為所使用元素索引的值加1。例如下面的代碼:

var arr=[12,23,5,3,25,98,76,54,56,76];
alert(arr.length);
arr[15]=34;
alert(arr.length);


代碼中同樣是先定義了一個包含10個數(shù)字的數(shù)組,通過alert語句可以看出其長度為10。隨后使用了索引為15的元素,將其賦值為15,即arr[15]=34,這時再用alert語句輸出數(shù)組的長度,得到的是16。無論如何,對于習(xí)慣于強(qiáng)類型編程的開發(fā)人員來說,這是一個很令人驚訝的特性。事實上,使用new Array()形式創(chuàng)建的數(shù)組,其初始長度就是為0,正是對其中未定義元素的操作,才使數(shù)組的長度發(fā)生變化。
由上面的介紹可以看到,length屬性是如此的神奇,利用它可以方便的增加或者減少數(shù)組的容量。因此對length屬性的深入了解,有助于在開發(fā)過程中靈活運用。

附留言:
supNate:沒有具體例子,竊以為了解了length屬性,就理解了javascript中的數(shù)組。而數(shù)組是完成很多例子的基礎(chǔ)。因為和其他語言區(qū)別比較大,所以單獨講一下。例如實現(xiàn)低版本瀏覽器不支持的數(shù)組的pop方法:
Array.prototype.pop=function(){
if(0==this.length)return;
var temp=this[this.length-1];
this.length--;
return temp;
}
這樣數(shù)組就能作為棧使用了。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 汕尾市| 昭通市| 肃北| 吐鲁番市| 抚宁县| 穆棱市| 潼关县| 汕尾市| 忻州市| 阜城县| 浏阳市| 邳州市| 湄潭县| 滨海县| 湘阴县| 神农架林区| 怀远县| 综艺| 广平县| 峡江县| 朝阳县| 安图县| 武邑县| 邛崃市| 中阳县| 深圳市| 平邑县| 昭觉县| 常山县| 屯昌县| 宜君县| 井冈山市| 阜宁县| 嘉兴市| 吉木萨尔县| 彩票| 邻水| 信丰县| 古丈县| 华池县| 六安市|