梗概
js在逻辑上对所以开销的内存进行了划分: 栈内存与堆内存
栈内存
child::
栈内存
- 用来存储变量的内容
- 包括基本数据类型的值
- 包括引用数据类型的引用
- 每进入一个局部作用域, 就逐渐把运行到的变量声明压入栈中
- 例如调用函数时, 跳转到函数内部
- 当退出局部作用域时, 就把其所用到的变量从栈顶弹出
- 由于这一特性, 才使用栈这种数据结构
说明
指向原始笔记的链接
- 这里的栈, 在访问变量的时候, 是可以进行随机读取的, 并不一定要丢弃才能访问
堆内存
child::
堆内存
指向原始笔记的链接
- 通常用来保存实例对象
- 按照js的垃圾回收机制, 只要实例对象有被引用, 则就会一直存在
- 只要没有引用, 马上就会被释放内存