JavaScript类数组

  1. 为什么有/用类数组(类数组的起源)
  2. 类数组如何存储数据

ps: 希望能带点相关链接或书籍

阅读 1.7k
2 个回答

确切的说 JS 里根本就没数组,都是 Object。

JS 里的数组并不像其他语言中,是开辟一段连续的内存空间,按顺序存储。而 JS 里所谓的数组,其实是一个类似于字典的结构,所谓的数组下标就是 Key,其值就是 Value,在这一点上跟 Object 没什么不同,arr[0] 本质上跟 obj['key'] 是一样的。

所谓“类数组”,就是它有 length 这个属性,但是却不是继承自 Array 的原型链,也就是没有 pushconcatfilter 之类的原型链方法。

document.getElementsByTagName('input')看起来像数组,有length。但不属于Array,所以数组相关操做都不行,比如forEach,类数组要用for循环去遍历

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题