欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

javascript中的栈堆内存

程序员文章站 2022-04-10 15:43:00
< 栈内存 > 俗称叫做作用域(全局作用域/私有作用域) >为js代码提供的执行环境(执行js代码的地方) >基本数据内省是直接存放在栈内存中的 < 堆内存 > 存储引用类型值得(相当于一个存储仓库) >对象存储的是键值对 >函数存储的是代码字符串 在项目中,我们的内存越少性能越好,我们需要把一些没 ......

 <--------栈内存--------->

 俗称叫做作用域(全局作用域/私有作用域)

  >为js代码提供的执行环境(执行js代码的地方)

  >基本数据内省是直接存放在栈内存中的

 

 <--------堆内存--------->

 存储引用类型值得(相当于一个存储仓库)

  >对象存储的是键值对

  >函数存储的是代码字符串

在项目中,我们的内存越少性能越好,我们需要把一些没用的内存处理掉

【堆内存】

  var o = {}; 当前对象对应的堆内存贝变量o占用着,堆内存是无法被销毁的

  o = null;null叫做空对象指针(不指向任何堆内存),此时上一次的堆内存就没有被占用了,谷歌浏览器会在空闲时间把没有被占用的堆内存自动释放(销毁/回收),ie浏览器是用计数指针方式

【栈内存】

  一般情况下,函数执行形成栈内存,函数执行完,浏览器会把形成的栈内存自动释放;有时候执行完成,栈内存不能被释放

全局作用域在加载页面的时候执行,在关闭页面的时候销毁;