位置: 编程技术 - 正文

理解js回收机制通俗易懂版(java回收机制原理)

编辑:rootadmin

推荐整理分享理解js回收机制通俗易懂版(java回收机制原理),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js的垃圾回收,理解js回收机制的方法,js变量回收机制,js变量回收机制,js回收机制怎么回收的,js 回收机制,js 回收机制,js 回收机制,内容如对您有帮助,希望把文章链接给更多的朋友!

之前文章中,讲解过js中的回收机制,但是对于当时的我来说,我自己对回收机制的这个概念也有些懵懵懂懂,现在对回收机制有了更深入的理解,所以特此发布此文给于总结,也好加深记忆。为什么要有回收机制?why?

打个比方,我有一个内存卡,这个内存是8G的,我把文件,视频,音乐,都保存到了这个内存卡,随着我的储存的内容越来越多,这个内存卡已经保存不了了,如果我还想再把其他的文件保存到这个内存卡就需要删除一些文件,但是这些被删除的文件是我们自己手动删除的对吧,手动删除就相当于js中的delete。

在这些程序语言中同样也会出现这些问题,对,内存!我们声明的任何变量都需要消耗内存,这些变量越多运行的速度也会越慢。当然不只是变量,代码中的任何东西。这些语言的设计者为了解决这些问题,设计了一套代码的回收规则。

代码回收规则如下:

    1.全局变量不会被回收。

理解js回收机制通俗易懂版(java回收机制原理)

    2.局部变量会被回收,也就是函数一旦运行完以后,函数内部的东西都会被销毁。

    3.只要被另外一个作用域所引用就不会被回收

我用几个例子来证明这些。

  按理说我是不能访问函数a里面的变量的,但是我通过全局变量b接收了这个函数a return过后的值,于是最后这段代码就成了下面这样。

好像这并看不出什么代码回收,那么我们看接下来的一段代码。

  看到了吧,如果按照正常的做法,那么输出的应该是3次1次对,因为函数体一旦运行那么这个函数体内的代码就会被清空,既然会被清空那么下次运行这段代码的时候num应该还是1,但是这里情况有些不同,我上面说过函数中的局部变量只要被另外一个作用域所引用那么这段代码就不会被销毁。

  上面的代码就像这样

那么被函数a返回的那个匿名函数的作用域由函数a转向了window,由于这个匿名函数被全局变量b引用所以不会被销毁。

同样可以,因为匿名函数被对象b的属性fn引用,改变了它的作用域,简单来说只要一个函数或者局部变量被改变作用域那么这个函数或者局部变量就不会被销毁。

标签: java回收机制原理

本文链接地址:https://www.jiuchutong.com/biancheng/379002.html 转载请保留说明!

上一篇:基于Javascript实现返回顶部按钮(用javascript)

下一篇:JavaScript实现点击按钮字体放大、缩小(js的点击事件怎么做)

  • 小规模纳税人增值税减免账务处理
  • 税前扣除项目主要内容?
  • 毛利率在餐饮中表示什么意思?
  • 净资产是资产负债表的哪一项
  • 投资性房地产收入计入什么科目
  • 上个月工资没有发
  • 怎么知道购货方电话号码
  • 电子发票读取不出怎么办
  • 去年的进项发票今年还能抵扣吗
  • 资产处置损益属于收入吗
  • 企业基本医疗保险和综合医疗保险
  • 自行研发无形资产暂时性差异
  • 远期汇票分为哪几种
  • 房屋租赁合同印花税计税依据
  • 跌价材料出售如何入账
  • 现金日记账的登记依据有
  • 企业计提预提费用的会计分录如何编制?
  • 地方教育费附加的会计分录
  • 利息收入属于现金流入吗
  • 申报退税金额是0是怎么回事
  • 开增值税专用发票需要合同吗
  • 土地租赁费含有多少税率
  • 物业管理提供的服务变化
  • 通用机打发票属于什么发票
  • 企业的其他业务收入有
  • 如何正确安装和使用电脑
  • 苹果设置输入法在哪里设置
  • 恢复修改过的图片
  • 三星笔记使用攻略
  • win10任务栏向上的箭头不见了
  • 计算机系统结构第三版课后答案
  • 自产自用产品的会计处理
  • 跨年度冲减收入
  • 房屋产权置换怎么交税?
  • 山茶花的养殖方法盆栽
  • 借支单还款后借支单要还么
  • 无形资产计价原则正确的是
  • crontab不执行的原因和解决方案
  • 扣缴义务人应扣未扣如何处罚
  • 抖音是如何成功的
  • ftp port命令
  • 代扣费用会计分录
  • html获取php数据
  • 微擎框架可以干什么
  • 预缴与申报
  • 税务申报显示已申报
  • wordpress如何删除导入的主题
  • php验证码代码怎么写
  • 外贸da付款方式的流程图
  • 月中入职算一个月吗
  • sqlserver怎么显示结果窗口
  • 房地产老项目简易计税方法
  • 企业非正常损失如何处理
  • 存货成本主要包括
  • 半成品可以计入企业产值吗
  • 行政单位无偿划拨资产账务处理
  • 付款金额与发票金额不一致能入账吗?
  • 其他非流动资产是金融资产吗
  • 现金日记账的日期栏是指记账凭证的日期
  • 在mac上如何使用微信
  • sql语句数字转化为文字
  • windowsxp删除所有内容
  • mac迅雷不限速
  • win10下安装office2007
  • Linux运维工程师工作内容
  • cocos creator 资源加密
  • 用jQuery实现可输入多选下拉组合框实例代码
  • 安卓游戏用什么软件开发
  • linux shell脚本实例
  • td nowrap css nowrap使用说明于注意事项
  • 使用的英文
  • javascript的简介
  • flask框架图
  • jquery ui教程
  • 江苏省国家税务局电话号码
  • 个体非正常户怎么解除
  • 登录上海电子税务局找不到税务数字帐户
  • 甘肃税务政策
  • 工商变更与税务变更为什么不能同步
  • 买新车的注意事项有哪些比较重要的
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设