糯米文學吧

位置:首頁 > 設計 > 網頁設計

Javascript的常規數組和關聯數組的對比小結

  首先我們看看數組的分類:

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。

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