本文實例講述了JavaScript引用類型Array。分享給大家供大家參考,具體如下:
1、ECMAScript數組的特點
(1)ECMAScript數組的每一項可以保存任何類型的數據。
(2)ECMAScript數組的大小是可以動態調整的。
2、創建數組
(1)使用Array構造函數(new操作符可省略)
var arr1 = new Array();var arr2 = new Array(3);var arr3 = new Array("teacher", 3, true);(2)使用數組字面量表示法
var arr1 = [];var arr2 = ["teacher", 3, true];
3、length屬性
ECMAScript數組的length屬性不是只讀的,通過設置這個屬性可以從數組末尾移除項或向數組中添加新項。
eg1:從數組末尾移除項
var arr = ["teacher", 3, true];arr.length = 1;alert(arr[2]);//undefined
eg2:如果將length設置為大于當前數組長度的值,則新增的每一項都會取得undefined值
var arr = ["teacher", 3, true];arr.length = 4;alert(arr[3]);//undefined
eg3:向數組中添加新項
var arr = ["teacher", 3, true];arr[arr.length] = "doctor";
eg4:當一個值放在超出當前數組大小的位置上時,數組會重新計算其長度值,等于最后一項的索引加一。
var arr = ["teacher", 3, true];arr[9] = "doctor";alert(arr.length);//10
4、檢測數組
(1)instanceof操作符
if (value instanceof Array) { ...}適用范圍:一個網頁或一個全局作用域
問題:若網頁中包含多個框架,則實際上存在兩個以上不同的全局執行環境,從而存在兩個以上不同版本的Array構造函數。若從一個框架向另一個框架傳入一個數組,那么傳入的數組在與第二個框架中原生創建的數組分別具有各自不同的構造函數。
(2)Array.isArray()方法
if (Array.isArray(value)) { ...}用途:確定給定值是否是數組,無論它是在哪個全局執行環境中創建的。
5、轉換方法
(1)toString():返回每一項的字符串形式拼接而成的一個以逗號分隔的字符串,為了取得每一項的值,調用的是每一項的toString()方法。
(2)valueOf():返回的還是數組
(3)toLocaleString():為了取得每一項的值,調用的是每一項的toLocaleString()方法,而不是toString()方法。
(4)join():使用指定的分隔符來構建字符串
說明:alert()方法要接收字符串參數,所以它會在后臺調用toString()方法。
eg1:
var friends = ["Alice","Bruce","Cindy"];alert(friends.toString());//Alice,Bruce,Cindyalert(friends.valueOf());//Alice,Bruce,Cindyalert(friends.toLocaleString());//Alice,Bruce,Cindyalert(friends);//Alice,Bruce,Cindyalert(friends.join());//Alice,Bruce,Cindyalert(friends.join("|"));//Alice|Bruce|Cindy
新聞熱點
疑難解答
圖片精選