當前位置:才華齋>設計>網頁設計>

Javascript的常規陣列和關聯陣列的對比小結

網頁設計 閱讀(4.77K)

  首先我們看看陣列的分類:

Javascript的常規陣列和關聯陣列的對比小結

從陣列的下標分為索引陣列、關聯陣列

  複製程式碼 程式碼如下:

/* 索引陣列,即通常情況下所說的陣列 */

var ary1 = [1,3,5,8];

//按索引去取陣列元素,從0開始(當然某些語言實現從1開始),索引實際上就是序數,一個整型數字

ary1[0];

ary1[1];

ary1[2];

ary1[3];

/* 關聯陣列,指以非序數型別為下標來存取的陣列 python中稱為字典 */

var ary2 = {}; //存取時,以非序數(數字),這裡是字串

ary2["one"] = 1;

ary2["two"] = 2;

ary2["thr"] = 3;

ary2["fou"] = 4;

  問題:你可以如下測試

alert(th); // 返回值為:4

alert(th); //返回值為:0

這是因為什麼呢,因為js是非型別語言,所以js 的任何型別都是object,

比如var arr = [];

arr[0] = 1;

arr[1] = 2;

arr[2] = 3;

arr["s"] = 4;

此時你呼叫arr.s相當於是在呼叫arr這個物件的's屬性,但是這是th仍然是3。

總結:關聯陣列雖然可以用字串作下標,但是這個下標是不支援引數傳值的,換言之,你需要什麼就取什麼,聽起來很智慧,實際上你取值仍然需要你手動去寫下標的。