Skip to content
标签
blog
reference
字数
294 字
阅读时间
2 分钟

栈内存

栈内存是用来执行代码和存储基本类型值的(创建的变量也存栈里面了),

  • 不仅全局代码执行(EC(G) 全局执行上下文),
  • 而且函数执行(EC(X) 私有上下文),最后也都会进栈执行的
  • 基于 ES6 中的 let/const 形成的块作用域也是栈内存

销毁区别

全局栈内存:关掉页面的时候销毁
局部栈内存:在函数或者循环执行完毕就销毁
- 例外:闭包和无限循环

堆内存

堆内存是用来存储引用数据类型值的

  • (例如:创建函数和创建对象,就是开辟一个堆内存,把代码字符串或者键值对存储到堆内存中的)

销毁

  • 手动释放:赋值为 NULL(NULL 是空对象指针,也就是不指向任何的堆内存)
  • 垃圾回收机制(引用计数和标记清楚)

参考

JS中堆栈内存的释放问题 - 掘金

内存管理 - JavaScript | MDN

贡献者

The avatar of contributor named as jiechen jiechen

页面历史

撰写