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;
}

这是一种对子节点的遍历。遍历的方法有很多不一一列举了。这种树状的指针操作需要多多熟悉,应用起来才会更加熟练。

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