区别 | 栈内存 | 堆内存 |
---|---|---|
数据结构 | 先进后出,后进先出 | 堆数据结构是一种树状结构。例如在JSON格式的数据中,我们存储的key-value是可以无序的,只要知道key,就能取出这个key对应的value。 |
变量类型 | 基本类型:Boolean、Number、String、Undefined、Null,**以及对象变量的指针 | 引用类型:Object |
变量大小 | 已知,固定 | 未知,可动态调整 |
空间大小 | 小 | 大 |
分区效率 | 高 | 较低 |
访问方式 | 按值 | 按引用 |
空间分配方式 | 由系统自动分配内存空间 | 由代码进行指定分配 |
垃圾回收 | 用完即回收 | 因为存在很多不确定的引用,只有当所有调用的变量全部销毁之后才能回收 |
网友评论