位置: 编程技术 - 正文

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

  • 申报个体经营所得税时营业外收入怎么填
  • 融资利息进项税如何抵扣
  • 买新车时旧车置换新车划算吗
  • 开办费的帐务处理
  • 个体户一年能开多少普票
  • 捐赠支出需要什么手续
  • 研发费用成本化和费用化
  • 销售费用包括啥
  • 司法拍卖定义
  • 商业发票和形式发票英文
  • 预付房租的会计科目
  • 递延资产放在资产负债表哪里
  • 接受捐赠的固定资产进项税额可以抵扣吗
  • 何为独立核算
  • 劳务公司开劳务费发票怎么开,税率是多少
  • 技术服务税票
  • 填写a201030减免所得税优惠明细怎么填
  • 个人独资企业股权能出让吗
  • 应付账款对账的流程和技巧
  • 房产税从价计征的计税依据
  • 去年红字发票怎么做账
  • 核定征收的合伙企业 取得的投资收益
  • 汽车行业销售折让
  • 金税盘初始密码忘记了怎么办
  • 减免税备案申请表范文
  • 以资抵债方式取得的无形资产如何记账?
  • 小规模纳税人金融服务税率
  • 年初未分配利润是什么科目
  • 企业旅行社名字怎么取
  • php删除数据库数据代码
  • win10插usb没有反应
  • linux的基础知识
  • 政策性搬迁补偿收入如何财税处理
  • Linux中stat命令显示文件的基本使用教程
  • php实验报告
  • 外贸企业退运后的进项税如何处理
  • php session实例
  • vue3.0用法
  • 固定资产处置科目有哪些
  • 研发支出是资产类会计科目吗
  • 城镇土地使用税减免税政策
  • 企业注销时实收资本没有到位要紧吗
  • 母公司与子公司的区别
  • sql查表结构语句
  • 向税务局缴纳工会经费的没计提
  • 开票方没有缴纳增值税
  • 建设单位支付给施工单位的民工工资
  • 收到对方的银行汇票算什么凭证
  • 同一控制下的企业合并和非同一控制下的企业合并的区别
  • 房屋租赁税按什么收
  • 个人社保代扣业务是什么意思
  • 买二手设备需要签合同吗
  • 金蝶制造费用明细如何查询
  • 收付转三种凭证怎么装订
  • 民间非营利组织会计制度及操作实务
  • 没有发票的费用汇算清缴的时候怎么调出来
  • 没有发票的费用怎么做凭证
  • 久期缺口计算公式解析
  • mysql5.6怎么用
  • mysql中having什么意思
  • mysql数据库开发技术
  • windows102021年更新
  • mac怎么批量删除qq好友
  • centos7.0安装网卡驱动
  • linux修改文件权限
  • windows 10各版本
  • Linux下将Mysql和Apache加入到系统服务里的方法
  • 安卓listview的用法
  • jquery22插件网
  • 我今天抽6
  • 3dsMax插件开发环境配置
  • linux shell获取ip地址
  • jquery操作
  • js轮播图视频教程
  • android 入门教程
  • Sublime Text 3常用插件及安装方法
  • 上海退休核定表两种算法
  • 亿企赢工作前景怎么样
  • 如何开具红字发票明细
  • 北京市工会会员卡免费公园有哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设