JavaScript之數組學習

在JavaScript中,數組用關鍵字Array來聲明。聲明數組的同時還能夠指定數組初始元素的大小,也就是數組的長度;下面代碼定義了一個數組長度爲6的數組;數組

var beatles=Array(6);

固然在JavaScript裏面能夠不聲明數組的長度,這徹底是能夠的!下面代碼爲沒有定義長度的數組,理論上你往裏面添加多少元素都沒問題;瀏覽器

var beatles=Array();

分析如下代碼:spa

var array = Array(2);
array[0] = "H";
array[1] = "E";
array[2] = "L";
array[3] = "L";
array[4] = "O";
alert(array.length);

這段代碼定義了一個長度爲2的數組,可是實際卻給它添加了5個值,超出開始定義的長度,瀏覽器試運行,輸出5,可是js報錯uncaught exception: out of memory,超出數組定義的長度;code

 

給數組賦值的方式一共有三種,下面是具體代碼:對象

1.經過數組下標來給數組賦值blog

var array = Array();
array[0] = "H";
array[1] = "E";
array[2] = "L";
array[3] = "L";
array[4] = "O";

2.在聲明數組的同時給數組賦值ip

var array = Array("H", "E", "L", "L", "O");

3.咱們甚至不用明確代表咱們是在建立數組,只需用一對雙括號把各個初始值的初始值括起來就好了;字符串

var array = ["H", "E", "L", "L", "O"];

 

 

Important:數組的元素類型;io

1.數組的元素類型沒必要非得是字符串,能夠是數值,能夠使bool值;class

var array = ["A", false, 12, 1245.1];
for (var i = 0; i < array.length; i++) {
   alert(array[i]);
}

依次輸出:A,false,12,1245.1;    他們都是不一樣的數據類型;

 

2.數組的元素能夠是一個變量;

var param = "change";
var array = ["A", false, 12, param];
for (var i = 0; i < array.length; i++) {
    alert(array[i]);
}

依次輸出:A,false,12,change;  輸出param的變量值;

3.數組的元素能夠是另外一個數組的元素;

var param = "change";
var
array = ["A", false, 12, param]; var beatles = ["B", true, 36]; array[0] = beatles[1]; for (var i = 0; i < array.length; i++) { alert(array[i]); }

依次輸出:true,false,12,change;    這裏注意原先的值會被覆蓋A被覆蓋成true;

4.數組的元素還能夠是另外一個數組

var param = "change";
var array = ["A", false, 12, param];
var beatles = ["B", true, 36];
array[0] = beatles;
for (var i = 0; i < array.length; i++) {
     alert(array[i]);
}

依次輸出:"B,true,36",false,12,change;   注意若要輸出beatles數組中的某一個元素,代碼以下:

alert(array[0][1]);

 

總結到這,以前所用到的數組都是傳統數組,每一個元素的下標是一個數字,每次往數組中增長一個元素,下標就加一,若是在填充數據的時候只給出元素的值,這個數組將是一個傳統數組,他的各個元素的下標將被自動建立個刷新;

關聯數組根據上面的總結得出,咱們能夠經過在填充數組時,爲每一個新元素明確的給出下標來改變這種默認的行爲;在爲新元素給出下標時,沒必要侷限於使用整數,能夠使用字符串,以下代碼所示:

var lenovo = Array();
lenovo["name"] = "聯想";
lenovo["year"] = "1994";
lenovo["living"] = false;
alert(lenovo.length);

 

這就是關聯數組。因爲能夠使用字符串來代替數字值下標,於是代碼更具可讀性,可是這種用法並非一個好習慣,不推薦使用。在JavaScript中,事實上全部的變量都是某種類型的對象,好比一個布爾值,就是一個Boolean類型的對象,一個數組就是一個Array類型的對象。在上面那段代碼中,其實是給lenove數組對象添加了name,year,living,三個屬性;通常狀況下,咱們不該該修改Array對象的屬性;

相關文章
相關標籤/搜索