位置: 编程技术 - 正文

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

  • 开的劳务费怎么做账
  • 小规模纳税人劳务费税率1%
  • 合同解除的效力民法典
  • 以前年度损益调整科目怎么用
  • 购买生产原料分录
  • 二季度资产总额怎么计算
  • 因员工过失造成第三方损失
  • 合作经营利润分配税务处理
  • 企事业单位承包承租经营者
  • 简易征收税额航天信息服务费可以抵扣吗?
  • 个人开劳务发票几个点
  • 个人劳务费发票个人所得税
  • 税收编码更改的依据是什么
  • 结转成本计算方法
  • 收到发票后怎么处理
  • 建筑成本百分比如何确定?
  • 为什么应收和预收在一起
  • 钢结构施工速度快吗
  • 销售劳务的税率是多少
  • 差额发票如何缴纳增值税
  • 存货清查的账务处理的阐述
  • 来料加工的账务处理
  • 增值税发票税率怎么算
  • windows11如何删除账户
  • 查看修改
  • 残保金零申报但是逾期未报
  • 最高跑分纪录的显卡是什么
  • 前端大屏适配几寸显示器
  • 如何使用wireshark抓取HTTP数据包?
  • 应付账款账户的期初贷方余额100元
  • tensorflow安装教程pycharm
  • 管理费用属于产品成本项目的费用吗
  • 转让旧固定资产怎么做账
  • pytorch ln
  • Chatgpt私有化部署(全流程)
  • php页面跳转可以用header
  • dir命令linux
  • 法人给对公账户转账
  • 免税农产品怎么抵扣进项税
  • 浅谈php设计模式的理解
  • python中aiohttp库如何理解
  • python报错怎么办
  • 福利费用使用范围
  • 送礼的烟酒去哪里买
  • sql server中字符串常量只能用双引号括起来
  • 减免残保金相关政策
  • 事业单位应交增值税明细科目
  • 航天信息服务费发票哪里打印
  • 销售货物并提供安装服务是混合销售吗
  • 专利转让费一般是多少
  • 劳务派遣的工资是谁发的
  • 本月工资未发个税能不能扣
  • 超过社保基数的工资怎么发放
  • 新手会计做账怎么做账
  • SQL 统计一个数据库中所有表记录的数量
  • 自动备份mssql server数据库并压缩的批处理脚本
  • win7打开浏览器很慢
  • mac电脑双系统
  • bash是什么意思中文翻译
  • freebsd操作命令
  • win10防火墙打不开错误代码
  • android7应用程序开发教程
  • 硬盘格式 mac
  • win10自带绘画
  • linux中keepalive
  • linux userdel
  • 深入剖析kubernetes pdf
  • 又拍云cdn配置
  • python shape用法
  • js实现时间
  • 黑马程序员学费多少钱2022
  • digitalocean收费
  • javascript基础入门视频教程
  • Python 正则表达式入门(中级篇)
  • jQuery实现表格行和列的动态添加与删除方法【测试可用】
  • 即征即退什么时候确认收入
  • 浙江税务网上开票流程图
  • 北京共有产权房房源信息
  • 广东省社保缴费基数
  • 登录上海电子税务局显示获取公告失败
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设