为了账号安全,请及时绑定邮箱和手机立即绑定

数组的存放

js 在内存中,什么时候分配空间,是连续的吗?

正在回答

7 回答

这个插件会在后续的升级版中修复这个问题。~

0 回复 有任何疑惑可以回复我~

那对象属性的动态增长是怎么增长的,这个增长的空间是怎么申请的?

0 回复 有任何疑惑可以回复我~

自我理解:

JS存储主要存储两个地方,一个是栈内存,另一个是堆内存

栈内存:存储的是一些基本类型值和堆内存的引用地址。

栈内存:存储的一般是对象(function)

什么时候分配空间:当你声明了变量的时候就会分配空间,再看你变量中存的是什么类型的值就会给你分配到堆内存或者栈内存。

0 回复 有任何疑惑可以回复我~

js的内存是堆栈式的,创建对象时就分配空间,独立拥有一个栈。对这个对象的操作就是对这个栈的压入弹出,确实是连续的

0 回复 有任何疑惑可以回复我~
#1

ZDQ 提问者

js数组对象的栈最初默认大小是多少?如果数组的大小超过这个限制js怎么分配,另外,如果每个对象都有一个很大的栈,对于数组容量小的数组对象岂不是浪费空间?
2016-06-12 回复 有任何疑惑可以回复我~

var a=new Array()
就是实例化一个数组对象然后存放进变量a 里
a在内存中的指针指向新创建的栈.

当你使用数组存放数据时,这个时候数组长度自动增加,自动分配空间。应该是连续的。

0 回复 有任何疑惑可以回复我~
#1

ZDQ 提问者

连续的空间怎么实现自动增长啊?每次重新申请一块足够大的空间?
2016-06-12 回复 有任何疑惑可以回复我~

初学者,不太懂

0 回复 有任何疑惑可以回复我~

个人理解,数组名就是一个对象,数组的各个元素都是对象的属性对其的引用。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

数组的存放

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信