位置: 编程技术 - 正文

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

  • 增值税开票软件怎么改开票人
  • 如何判断销售额含税还是不含税
  • 员工辞退补偿金需要交个税吗
  • 建筑业企业生产经营情况表
  • 没申报可以开票嘛
  • 金税盘锁死提示什么
  • 归属于母公司的净资产
  • 建筑业会计科目工程结算
  • 来料加工税务账应采取哪种核算方式?
  • 冲减成本费用会计分录
  • 报销发票会计怎么处理
  • 增值税发票做假什么后果
  • 存货盘盈与盘亏
  • 主营业务税金及附加包括增值税吗
  • 增值税应纳所得额是什么意思
  • 单位固定资产出售账务处理
  • 通用机打发票属于什么发票
  • 批发零售的成本核算
  • 总公司汇总申报怎么弄
  • 支票大写金额书写转换
  • 按产品的品种型号规格规定的计划
  • 建筑行业会计成本会计工作流程
  • 物权请求权如何行使
  • 一般纳税人如何计算企业所得税
  • php mktime函数
  • 运行项目报错Couldn't import Django
  • phpstudy配置ftp服务器
  • 借条怎么写有法律效力范本长期有效
  • 支付报刊杂志费
  • 企业发给员工的食堂补贴需要交个税吗
  • zend framework手册
  • 向境外支付技术提成费需要提交什么材料
  • 收到企业所得税退税会计分录怎么做
  • golang、python、php、c++、c、java、Nodejs性能对比
  • segment anything model github
  • 新成立公司建账
  • 资产处置损益算营业外收入吗
  • vue-cli(vue脚手架)超详细教程
  • transformer模型包含哪些结构
  • php身份证号码验证
  • 个人所得税核定征收税率
  • 医疗机构销售药品是否征收增值税
  • 通行费发票如何勾选
  • 工会经费余额在借方还是贷方
  • 民办非企业收到政府拨款分录
  • 开的票比实际支付的多,账务怎么处理
  • 增值税纳税申报类型有哪些
  • 总资产报酬率的公式
  • 高新技术企业的申报条件
  • 没有收据不开发票
  • 职工基本医疗保险怎么用
  • 税审报告需要什么资料
  • 计提工资时个税挂其他应收款
  • 企业转让固定资产属于什么收入
  • 上年度库存商品错误如何更正
  • 公司既没有收入怎么办
  • 工程保险费包括人身保险么
  • 其他应收款可以挂公司吗
  • 项目建设期间所涉及的税
  • 如何理解施工企业的周转材料
  • 小规模申请自开发票流程
  • 企业办增项怎样办理
  • 怎么u盘装系统win10
  • windows疑难解答在哪里
  • win10系统怎么安装qq
  • xcode a build only device
  • layui nodejs
  • 安卓属性
  • js表单序列化
  • shell脚本进程号
  • 基于JavaScript的图书管理系统
  • scrapy python
  • jquery树形菜单
  • webview设置ua
  • python遍历文件目录
  • java script js
  • jquery操作元素样式
  • 安卓 自动化app
  • 出口退税退运需要什么
  • 印花税票有什么用
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设