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

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值