梗概

js在逻辑上对所以开销的内存进行了划分: 栈内存与堆内存

栈内存

child::

栈内存

  • 用来存储变量的内容
    • 包括基本数据类型的
    • 包括引用数据类型的引用
  • 每进入一个局部作用域, 就逐渐把运行到的变量声明压入栈中
    • 例如调用函数时, 跳转到函数内部
  • 当退出局部作用域时, 就把其所用到的变量从栈顶弹出
    • 由于这一特性, 才使用这种数据结构

说明

  • 这里的栈, 在访问变量的时候, 是可以进行随机读取的, 并不一定要丢弃才能访问
指向原始笔记的链接

堆内存

child::

堆内存

  • 通常用来保存实例对象
  • 按照js的垃圾回收机制, 只要实例对象有被引用, 则就会一直存在
    • 只要没有引用, 马上就会被释放内存
指向原始笔记的链接