Js hash數組與Dom節點

對於一般的js數組來說,一般以數字爲下標,使用數組名[下標數字]的方式可以訪問數組,且具有length屬性,可以查詢數組的長度,這一類數組爲索引數組。但在js中有一類特別的數組爲關聯數組,也稱爲hash數組,這類數組的下標不使用數字,而直接使用字符串:
var bookInfo=[]; bookInfo['bookName']='西遊記';
其中的bookName便是下標。兩者的關係如同一個隊伍中,索引數組爲每個人的編號,而hash數組爲每個人的名字。當你尋找一個人的時候如果要按照編號一個一個遍歷找人就非常慢,但倘若知道名字就可以非常快的找到那個人。所以hash數組在搜索效率上要高一些。但是hash數組沒有length屬性,對於全長的確認會比較麻煩。且由於下標不是數字,所以使用該數組進行遍歷時不能使用for循環,而要使用for in 來實現。

for(var key in hash){
key//下標元素名
hash[key]//元素值
}

hash數組更方便查找而索引數組更方便進行一些運算,所以在選擇數組時應按照對應功能進行最優選擇。

Dom節點是一種典型的樹狀結構,html可以作爲一個樹的根節點,通過onwerDocument進行訪問html有兩個子節點head和body,節點中存放着各自的內容。這十分類似c++中的指針,雖然js中沒有明確的指針,但這種對節點的操作便大致等同於指針。你可以通過對一個節點對象的控制來控制html與css部分的形式。
對於這種樹狀結構可以進行遍歷。

function first(e){
var e=e.firstChild;
while(e&&e.nodeType!=1)
e=e.nextSibling;
return e;
}

這是一種對子節點的遍歷。遍歷的方法有很多不一一列舉了。這種樹狀的指針操作需要多多熟悉,應用起來纔會更加熟練。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章