- 相關(guān)推薦
Javascript的常規(guī)數(shù)組和關(guān)聯(lián)數(shù)組的對比小結(jié)
首先我們看看數(shù)組的分類:
從數(shù)組的下標(biāo)分為索引數(shù)組、關(guān)聯(lián)數(shù)組
復(fù)制代碼 代碼如下:
/* 索引數(shù)組,即通常情況下所說的數(shù)組 */
var ary1 = [1,3,5,8];
//按索引去取數(shù)組元素,從0開始(當(dāng)然某些語言實現(xiàn)從1開始),索引實際上就是序數(shù),一個整型數(shù)字
ary1[0];
ary1[1];
ary1[2];
ary1[3];
/* 關(guān)聯(lián)數(shù)組,指以非序數(shù)類型為下標(biāo)來存取的數(shù)組 python中稱為字典 */
var ary2 = {}; //存取時,以非序數(shù)(數(shù)字),這里是字符串
ary2["one"] = 1;
ary2["two"] = 2;
ary2["thr"] = 3;
ary2["fou"] = 4;
問題:你可以如下測試:
alert(arry1.length); // 返回值為:4
alert(arry2.length); //返回值為:0
這是因為什么呢,因為js是非類型語言,所以js 的任何類型都是object,
比如var arr = [];
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr["s"] = 4;
此時你調(diào)用arr.s相當(dāng)于是在調(diào)用arr這個對象的s屬性,但是這是arr.length仍然是3。
總結(jié):關(guān)聯(lián)數(shù)組雖然可以用字符串作下標(biāo),但是這個下標(biāo)是不支持參數(shù)傳值的,換言之,你需要什么就取什么,聽起來很智能,實際上你取值仍然需要你手動去寫下標(biāo)的。
【Javascript的常規(guī)數(shù)組和關(guān)聯(lián)數(shù)組的對比小結(jié)】相關(guān)文章:
網(wǎng)絡(luò)營銷與傳統(tǒng)營銷的對比和影響04-11
javascript跨域訪問的方法07-19
關(guān)聯(lián)交易審計風(fēng)險有哪些04-07
產(chǎn)后出血的護理常規(guī)11-14
擊劍運動術(shù)語中英法語對比04-05
五大OA系統(tǒng)選型對比08-29
CAD實訓(xùn)小結(jié)11-22