您的位置:首页 > Web前端 > JavaScript

JavaScript性能优化之内存管理及垃圾回收

2021-01-16 15:11 176 查看

一.JavaScript性能优化之内存管理

首先要了解几个概念:

内存:由可读写单元组成,表示一片可操作空间

管理:人为的去操作一片空间的申请,使用和释放

内存管理:开发者主动申请空间,使用空间,释放空间

内存管理流程 申请-使用-释放

javaScript没有相应的api去操作空间,所以我们在JavaScript执行引擎遇到变量定义语句的时候自动分配给我们一个相应的空间,流

程如下图所示:

二.JavaScript之垃圾回收

javaScript中的内存管理是自动的,在创建对象,数组或者函数 分配相应的内存空间,后续代码在执行的过程中,如果通过一些引用关系无法

再找到对象的时候称之为垃圾,如果说因为一些语法错误,或者一些结构性的错误致使对象无法从根上访问到时,也称为垃圾。javaScript

搜索引擎就会出来工作,把所占据的空间进行回收,这个过程就叫做javaScript垃圾回收,在此我们还必须了解一个概念可达对象

JavaScript中的可达对象:可以访问到的对象就是可达对象(引用,作用域链),可达的标准一定从根上出发找的到, JavaScript中的根就可以

理解为是全局变量对象。

JavaScript的引用和可达

从全局的根出发,可以找到一个可达的对象obj,通过函数调用指向了O1和O2,

如下图红线部分delete掉O1,再delete掉obj2.prev,则红线框住的部分就是浏览器垃圾回收部分

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: