位置: 编程技术 - 正文

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

  • 工商名称变更后多久网上可以查到记录
  • 企业所得税如何做分录
  • 固定资产接受捐赠的计入什么科目
  • 增值税附表一填错了,主表没错可以不更正不
  • 计提坏账准备需要纳税调增吗
  • 收到虚开的普票已经入账怎么调账
  • 投资性房地产房产税应按从价还是从租
  • 工资和社保计提和发放账务处理
  • 增值税专用发票和普通发票的区别
  • 收到以前年度退所得税分录
  • 税务小规模定律是什么意思
  • 合伙企业对外投资收益怎么纳税
  • 当月未出账费用
  • 现金股利属于什么所得
  • tplink路由器手机怎么设置
  • 如何查看windows密钥时间
  • 合伙企业需要交哪些税
  • 网络公司的财务主要做什么
  • php基础
  • php的file函数
  • scm wms
  • 餐饮发票可以计入什么费用
  • 购买股票的会计分录
  • ghoststarttrayapp.exe是什么进程 有什么作用 ghoststarttrayapp进程查询
  • 交易性金融资产属于流动资产
  • 结算备付金管理办法(2019年修订版)
  • vue 自动部署
  • 收到政府的补助交所得税么
  • 调整多计提企业利润
  • laravel app接口
  • 转销坏账准备的会计分录有一个还是两个
  • php 访问数据库
  • php代码生成
  • php连接数据库的基本步骤是什么
  • nodejs安装及环境配置vue
  • 如何理解符合立案标准的,行政机关应当及时立案
  • 管理费用属于产品成本么
  • 法人向公司账户打款
  • 一般纳税人外地预缴税率
  • 一般纳税人劳务费税率是多少2023
  • 农产品开具发票税率是多少?
  • 市场费用科目
  • 未分配利润为负代表什么
  • 可转换债券的转换比率计算公式
  • 城乡居民死亡后需要办理什么手续
  • 备用金预期有什么影响
  • 医院产生的相关费用
  • 营业外收入的账户结构
  • 员工餐补是放入福利费吗?
  • 出口货物发生退运损失由外贸承担还是厂家
  • 网上认证平台进不去怎么办
  • 未按照规定编制应急预案的,责令限期改正,可以处罚款
  • 获取sql
  • mysql 5.7.12 winx64安装配置方法图文教程
  • sql存储过程什么意思
  • 如何使用命令查找电脑IP地址
  • windows hellopin是什么意思
  • 微软6月24发布
  • Win7系统如何关闭自动更新
  • [视频]看科学家如何将纯净水变成金属
  • xp系统鼠标设置在哪
  • linux的用户
  • win8系统怎么设置
  • win7 桌面空白
  • win7系统电脑怎么开热点
  • win8突然没有声音
  • js原型继承和构造继承
  • 快速掌握日语词汇
  • Android---61---TabHost简单使用
  • pycharm远程调试代码
  • perl localtime函数
  • nodelink
  • javascript开发app教程
  • 浅析python中SQLAlchemy排序的一个坑
  • unity3d怎么编程
  • fw开发
  • python中django
  • 上海国家税务局电话
  • 集资房税收问题
  • 国税注销需要什么资料
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设