对于js垃圾回收机制的理解


Posted in Javascript onSeptember 14, 2017

原理

找到不再被使用的变量,然后释放其占用的内存,但这个过程不是时时的,因为其开销比较大,

所以垃圾回收器会按照固定时间间隔周期性的执行

回收方式

a.标记清除

当变量进入环境时,将这个变量标记为“进入环境”;当变量离开环境时,则将其标记为“离开环境”。

标记“离开环境”的就回收内存

b.引入计数(低级浏览器)

当变量声明,第一次赋值时记为1,然后当这个变量值改变时,记录为0,将计数为0的回收

内存泄露

a.意外的全局变量引起的内存泄露

原因: 全局变量不会被回收

解决:使用严格模式避免

b.闭包引起的

原因: 活动对象被引用,使闭包内的变量不会被释放

解决: 将活动对象赋值为null

c.被清理的DOM元素的引用

原因: 虽然DOM被删掉了,但对象中还存在对DOM的引用

解决: 将对象赋值为null

d.被遗忘的定时器或回调

原因: 定时器内部实现闭包,回调也是闭包

解决: 清理定时器clearInterval、null

以上这篇对于js垃圾回收机制的理解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery实现炫酷的叠加层自动切换特效
Feb 01 Javascript
jQuery焦点控制图层展示延迟隐藏的方法
Mar 09 Javascript
jQuery遮罩层实现方法实例详解(附遮罩层插件)
Dec 08 Javascript
JavaScript中对象的不同创建方法
Aug 12 Javascript
jQuery实现CheckBox全选、全不选功能
Jan 11 Javascript
AngularJs定时器$interval 和 $timeout详解
May 25 Javascript
jQuery中extend函数简单用法示例
Oct 11 jQuery
10分钟上手vue-cli 3.0 入门介绍
Apr 04 Javascript
Vue2.0 实现单选互斥的方法
Apr 13 Javascript
Vue.js 通过jQuery ajax获取数据实现更新后重新渲染页面的方法
Aug 09 jQuery
Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)
Aug 28 Javascript
三步搞定:Vue.js调用Android原生操作
Sep 07 Javascript
使用SVG基本操作API的实例讲解
Sep 14 #Javascript
JSON 数据格式详解
Sep 13 #Javascript
JS库 Highlightjs 添加代码行号的实现代码
Sep 13 #Javascript
详解动画插件wow.js的使用方法
Sep 13 #Javascript
JS库之Highlight.js的用法详解
Sep 13 #Javascript
详解wow.js中各种特效对应的类名
Sep 13 #Javascript
强大的JavaScript响应式图表Chartist.js的使用
Sep 13 #Javascript
You might like
discuz安全提问算法
2007/06/06 PHP
深入for,while,foreach遍历时间比较的详解
2013/06/08 PHP
一个严格的PHP Session会话超时时间设置方法
2014/06/10 PHP
PHP读取RSS(Feed)简单实例
2014/06/12 PHP
PHP实现扎金花游戏之大小比赛的方法
2015/03/10 PHP
nginx下安装php7+php5
2016/07/31 PHP
PHP+JS实现的实时搜索提示功能
2018/03/13 PHP
IE/FireFox具备兼容性的拖动代码
2007/08/13 Javascript
jQuery中判断一个元素是否为另一个元素的子元素(或者其本身)
2012/03/21 Javascript
js原生appendChild的bug解决心得分享
2013/07/01 Javascript
将字符串中由空格隔开的每个单词首字母大写
2014/04/06 Javascript
jQuery设置和移除文本框默认值的方法
2015/03/09 Javascript
深入理解JS实现快速排序和去重
2016/10/17 Javascript
JS库之Particles.js中文开发手册及参数详解
2017/09/13 Javascript
关于echarts在节点显示动态数据及添加提示文本所遇到的问题
2018/04/20 Javascript
JavaScript中创建原子的方法总结
2018/08/26 Javascript
php结合js实现多条件组合查询
2019/05/28 Javascript
vue.js实现图书管理功能
2019/09/24 Javascript
Python字符串详细介绍
2015/05/09 Python
使用python和pygame绘制繁花曲线的方法
2018/02/24 Python
python中matplotlib的颜色及线条控制的示例
2018/03/16 Python
详解python中@的用法
2019/03/27 Python
基于Python爬取爱奇艺资源过程解析
2020/03/02 Python
Python Http请求json解析库用法解析
2020/11/28 Python
豆腐の盛田屋官网:日本自然派的豆乳面膜、肥皂、化妆水、乳液等
2016/10/08 全球购物
英国在线药房:Express Chemist
2019/03/28 全球购物
大一学生假期实习的自我评价
2013/10/12 职场文书
医学院毕业生自荐信
2013/11/08 职场文书
财务与信息服务专业推荐信
2013/11/28 职场文书
情侣吵架检讨书
2014/02/05 职场文书
授权委托书样本
2014/04/03 职场文书
超市客服工作职责
2014/06/11 职场文书
学校周年庆活动方案
2014/08/22 职场文书
春节随笔
2015/08/15 职场文书
2016中秋晚会开幕词
2016/03/03 职场文书
nginx location中多个if里面proxy_pass的方法
2021/03/31 Servers