ps: 希望能带点相关链接或书籍
确切的说 JS 里根本就没数组,都是 Object。
JS 里的数组并不像其他语言中,是开辟一段连续的内存空间,按顺序存储。而 JS 里所谓的数组,其实是一个类似于字典的结构,所谓的数组下标就是 Key,其值就是 Value,在这一点上跟 Object 没什么不同,arr[0] 本质上跟 obj['key'] 是一样的。
arr[0]
obj['key']
所谓“类数组”,就是它有 length 这个属性,但是却不是继承自 Array 的原型链,也就是没有 push、concat、filter 之类的原型链方法。
length
push
concat
filter
document.getElementsByTagName('input')看起来像数组,有length。但不属于Array,所以数组相关操做都不行,比如forEach,类数组要用for循环去遍历
document.getElementsByTagName('input')
Array
forEach
for循环
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
确切的说 JS 里根本就没数组,都是 Object。
JS 里的数组并不像其他语言中,是开辟一段连续的内存空间,按顺序存储。而 JS 里所谓的数组,其实是一个类似于字典的结构,所谓的数组下标就是 Key,其值就是 Value,在这一点上跟 Object 没什么不同,
arr[0]
本质上跟obj['key']
是一样的。所谓“类数组”,就是它有
length
这个属性,但是却不是继承自 Array 的原型链,也就是没有push
、concat
、filter
之类的原型链方法。