JavaScript性能优化之内存管理及垃圾回收
一.JavaScript性能优化之内存管理
首先要了解几个概念:
内存:由可读写单元组成,表示一片可操作空间
管理:人为的去操作一片空间的申请,使用和释放
内存管理:开发者主动申请空间,使用空间,释放空间
内存管理流程 申请-使用-释放
javaScript没有相应的api去操作空间,所以我们在JavaScript执行引擎遇到变量定义语句的时候自动分配给我们一个相应的空间,流
程如下图所示:
二.JavaScript之垃圾回收
javaScript中的内存管理是自动的,在创建对象,数组或者函数 分配相应的内存空间,后续代码在执行的过程中,如果通过一些引用关系无法
再找到对象的时候称之为垃圾,如果说因为一些语法错误,或者一些结构性的错误致使对象无法从根上访问到时,也称为垃圾。javaScript
搜索引擎就会出来工作,把所占据的空间进行回收,这个过程就叫做javaScript垃圾回收,在此我们还必须了解一个概念可达对象。
JavaScript中的可达对象:可以访问到的对象就是可达对象(引用,作用域链),可达的标准一定从根上出发找的到, JavaScript中的根就可以
理解为是全局变量对象。
JavaScript的引用和可达
从全局的根出发,可以找到一个可达的对象obj,通过函数调用指向了O1和O2,
如下图红线部分delete掉O1,再delete掉obj2.prev,则红线框住的部分就是浏览器垃圾回收部分
posted on 2021-01-16 15:11 メSerendipity 阅读(143) 评论(0) 编辑 收藏 举报