位置: 编程技术 - 正文

理解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的点击事件怎么做)

  • 个税申报的收入是应发还是实发
  • 出口退免税是什么意思
  • 国税税务登记号查询
  • 开普票要个人身份证号吗
  • 电信要收取安装费吗
  • 生产设备租赁费计入什么科目
  • 房地产开发企业预收款预缴增值税
  • 设备租赁公司是干嘛的
  • 公司土地转让另外公司
  • 结转已到期未兑付怎么办
  • 将外购货物分配给客户
  • 单位老房子拆一补一,而外的面积开发商怎么算价格
  • 生产前和生产后经常长喘气怎么回事
  • 股东租车给公司押金
  • 企业重组的所得税怎么算
  • 购买设备对方垫付运费会计分录
  • 法人向公司借款用途怎么写
  • 以前年度损益调整编码
  • 企业减免企业所得税怎么算
  • 对于长期没发票的预付款怎么处理?
  • 农业公司的会计分录
  • Win10宽带无法连接
  • 怎么取消电脑开机自动启动软件
  • win7为什么还有人用
  • 安装下载应用
  • bios setup uitlity
  • vpengine.exe进程
  • 入股分红项目
  • 进程core
  • 小规模纳税人缴纳增值税怎么算
  • 不征税收入税收政策
  • 开发商延期交房违法吗
  • 生产企业可以抵扣进项税的
  • 华硕自带win10系统
  • 广告费列支
  • php中验证码如何实现登录验证
  • 财政拨入的科技费是什么
  • 退役士兵抵税2019
  • 旅游景点的门票能做费用吗
  • 存货跌价准备的结转会计分录
  • dedecms进入数据库
  • mysql从一张表更新到另一张表
  • 咨询公司业务流程
  • Linux编译mssql扩展使用php连接sqlserver2008的使用步骤
  • 小规模纳税人所得税怎么计算
  • 应该免税的增值税是什么
  • 商业保理怎么账务处理?
  • 企业转让专利需要交什么税
  • 印花税签合同
  • 个体工商户的个税起征点
  • 电子设备折旧残值率
  • 把公司设备操作坏了怎么担责
  • 工会经费的减除项是什么
  • 企业以前年度亏损未弥补完
  • 银行承兑到期后怎么兑现
  • 会计凭证的主要种类
  • 正版vista一键升级win7
  • mac备忘录怎么使用
  • centos7如何扩展根分区空间
  • macappstore下载软件一直要密码
  • mac上itunes
  • linux怎么管理进程
  • win7系统开机进不去
  • windows窗口跑到了侧面
  • 如何设置win10用户名
  • 如何将windows 10
  • linux服务器硬件配置要求
  • django ajax请求
  • opengl超级宝典pdf
  • python获取本地路径
  • node.js 生成pdf
  • android应用程序
  • 各类扩展名
  • android开发遇到的技术难点
  • python中操作PDF的库
  • 高博应诺官网
  • 复函地税务机关对自产货物原材料向上游发函
  • 上海工资8000税后多少
  • 纳税人逾期未申报的原因有哪些
  • 广州天河东路税务局地址
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设