JavaScript的数组和对象内存占用问题?

for循环生成的一个数组对象,为什么数组所占内存要高于对象的呢?代码如下图(node命令行运行的,在浏览器中也一样):

图片描述

但是当循环的数据不变化时,数组占的内存就小于对象,如下图:

图片描述

阅读 4.5k
2 个回答

数组维护了一个length属性

你要这么想..数组其实也是对象,并且是在对象的基础上进行扩展的。那么数组就会比对象还要多一层数据,那内存占用的更多一点有什么好奇怪的吗?

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