类数组对象

注:本文参考 https://segmentfault.com/a/1190000024526235
https://segmentfault.com/a/1190000005764629

一、定义

类数组对象,就是格式与数组结构类似,拥有length属性,并且可以通过索引来访问或设置里面的元素,但是不能使用数组的方法。这样的对象可以称之为类数组对象。

image

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

image

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

image

三、常见的类数组对象

  1. arguments
    (1) 是浏览器传给函数的隐式参数。(当函数参数个数不定时,可以通过arguments获取所有的参数,参数以类数组对象的形式存储)。
    (2) 所有非箭头函数都可以用这个局部变量(箭头函数不可用)
    (3) arguments对象(如下图所示)

    • 我们传递进去的参数。(使用时利用下标)
    • callee:该函数本身
    • length:参数长度
    • symbol:返回一个新的Array迭代器对象,该对象包含参数中每个索引的值。
      image
  2. NodeList
    比如根据document.getElementsByClassName('a')得到的结果。

四、一些属性

  1. 遍历
    image

五、其他

类数组只有索引值和长度,没有数组的其他方法,如果想要类数组对象调用数组的方法,一个是可以把它转换为数组,另一个是使用 Array.prototype.method.call 来实现(想想转换为数组 Array.prototype.slice.call 就是把slice方法给类数组对象),比如:
image

posted @ 2021-08-16 21:45  二森  阅读(1166)  评论(0)    收藏  举报