关于Javascript的Object和Array的存储数据结构-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

关于Javascript的Object和Array的存储数据结构

小旋风柴进 2016-06-01 10:56:56 960

1.Array的长度可变,那么内部是如何实现的(问的是底层的数据结构)?比如是类似Java中ArrayList的机制
2.Object的属性数量也可变,内部是如何实现的?
3.会不会不同的浏览器实现原理不同?
第1个问题其实和第2个问题是一个意思,都是问的底层的数据结构。我在网上看到Array其实就是Object。那么是不是Array的元素本质上就是Object中以0,1,2,3,4为key的属性键值对?

存储 JavaScript 前端开发 Java
分享到
取消 提交回答
全部回答(1)
  • 小旋风柴进
    2019-07-17 19:22:53

    (1)在内部,array有额外的单元存储数组的长度。java c# python等比C++高级的语言,都会记录数组长度,因此,它们都是可以运行时获取数组长度的。
    (2)内部相当于一个字典,属性名是字典的key,属性值是字典的 value,类似java的hashmap
    (3)肯定实现原理不同,但是表现出来的形式应该类似。早期的浏览器,比如IE8都是解释执行,而现代的chrome用的v8,则使用jit编译和类型化等技术来为js加速。

    0 0

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题