类数组对象
注:本文参考 https://segmentfault.com/a/1190000024526235
https://segmentfault.com/a/1190000005764629
一、定义
类数组对象,就是格式与数组结构类似,拥有length属性,并且可以通过索引来访问或设置里面的元素,但是不能使用数组的方法。这样的对象可以称之为类数组对象。

注意:类数组对象的类型是Object而非Array。


二、类数组对象转换为数组的方法

三、常见的类数组对象
-
arguments
(1) 是浏览器传给函数的隐式参数。(当函数参数个数不定时,可以通过arguments获取所有的参数,参数以类数组对象的形式存储)。
(2) 所有非箭头函数都可以用这个局部变量(箭头函数不可用)
(3) arguments对象(如下图所示)- 我们传递进去的参数。(使用时利用下标)
- callee:该函数本身
- length:参数长度
- symbol:返回一个新的Array迭代器对象,该对象包含参数中每个索引的值。
![image]()
-
NodeList
比如根据document.getElementsByClassName('a')得到的结果。
四、一些属性
- 遍历
![image]()
五、其他
类数组只有索引值和长度,没有数组的其他方法,如果想要类数组对象调用数组的方法,一个是可以把它转换为数组,另一个是使用 Array.prototype.method.call 来实现(想想转换为数组 Array.prototype.slice.call 就是把slice方法给类数组对象),比如:




浙公网安备 33010602011771号