- 为什么有/用类数组(类数组的起源)
- 类数组如何存储数据
ps: 希望能带点相关链接或书籍
document.getElementsByTagName('input')
看起来像数组,有length
。但不属于Array
,所以数组相关操做都不行,比如forEach
,类数组要用for循环
去遍历
4 回答5.5k 阅读✓ 已解决
12 回答4.5k 阅读
7 回答2.8k 阅读✓ 已解决
11 回答2.8k 阅读
13 回答1.4k 阅读
5 回答1.8k 阅读✓ 已解决
8 回答2.2k 阅读✓ 已解决
确切的说 JS 里根本就没数组,都是 Object。
JS 里的数组并不像其他语言中,是开辟一段连续的内存空间,按顺序存储。而 JS 里所谓的数组,其实是一个类似于字典的结构,所谓的数组下标就是 Key,其值就是 Value,在这一点上跟 Object 没什么不同,
arr[0]
本质上跟obj['key']
是一样的。所谓“类数组”,就是它有
length
这个属性,但是却不是继承自 Array 的原型链,也就是没有push
、concat
、filter
之类的原型链方法。