js堆栈内存的释放

Posted Key

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js堆栈内存的释放相关的知识,希望对你有一定的参考价值。

### JS中的堆栈内存
> 俗称叫做作用域(全局作用域/私有作用域)
> - 为js代码提供执行的环境(执行js代码的地方)
> - 基本数据类型值是直接存放在栈内存中的
> **堆内存**
> 存储引用数据类型值的(相当于一个存储的仓库)
> - 对象存储的是键值对
> - 函数存储的是代码字符串


在项目中,我们的内存越少性能越好,我们需要把一些没用的内存处理掉
[堆内存]
var o ={};当前对象对应的堆内存被变量o占用着呢,堆内存是无法销毁的。
o = null;null空对象指针,(不指向任何的堆内存),此时上一次的堆内存就没有被占用了。谷歌浏览器会在空闲时间把没有被占用的堆内存自动释放(销毁/回收)

[栈内存]
一般情况下,函数执行形成栈内存,函数执行完,浏览器会把形成的占内存自动释放;有时候执行完成,占内存不能被释放
全局作用域在加载页面的时候执行,在关掉页面的时候销毁;



以上是关于js堆栈内存的释放的主要内容,如果未能解决你的问题,请参考以下文章

关于JS堆栈与拷贝

关于JS堆栈与拷贝

浅析JS堆栈执行栈和EventLoop

js中的堆和栈

iOS堆栈内存区别

堆栈在内存中的存储位置----详解