[Javascript]类数组对象为什么不能用for in进行遍历

Posted 啊啦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Javascript]类数组对象为什么不能用for in进行遍历相关的知识,希望对你有一定的参考价值。

上来说重点,再废话

  类数组对象不能使用for(var key in  elements)进行遍历,这是因为类数组的最后一个哈希的键值对是length:n   n代表数组长度

 

javascript中,我们在DOM树上面获取页面的元素,

  例如使用var emls=getElementsByTagName ()  

     var emls=querySelectedAll()

获得的elements包含多个dom元素,在学习的过程中,我没有使用for(var i=0;i<elements.length;i++)这种方式遍历,而是采取了for in 的方式遍历,然后就悲剧的报错,

经过单步调试,发现在最后一步才报错,查看获取到的数据发现,遍历的最后一个对象不是Element对象,而是这个类数组对象的长度.  

以上是关于[Javascript]类数组对象为什么不能用for in进行遍历的主要内容,如果未能解决你的问题,请参考以下文章

前端面试 JavaScript— 函数的arguments为什么不是数组?如何转化成数组?

javascript中的arguments对象

Python 下划线

Java集合有啥用?

JavaScript arguments 伪数组

如何在扩展类 javascript 中获取更新的对象数组