位置: 编程技术 - 正文

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

  • 交通运输印花税怎么申报
  • 没有工会的企业怎么发福利
  • 赠送货物怎么入账
  • 其他应收款包括应收利息吗
  • 取得不动产权证书时间是指哪个时间
  • 印花税没有在我的待办里是不是就不用申报
  • 春节商家促销文案
  • 工作未满12个月被辞退时前月平均工资怎么计算
  • 商业银行贷款账号如何查询
  • 汇票退回会计分录怎么写
  • 发票金额小于入库金额
  • 工程分包开具发票怎么开
  • 发行长期债券会计分录例题
  • 分包业务的账务处理办法
  • 关于劳务派遣服务外包的案例
  • 补偿金需要缴纳个税分开
  • 应付利息在资产负债表中属于什么项目
  • 销售收入大于纳税申报销售收入
  • 企业信息公示社保信息怎么填,公司没有交
  • 应收账款补贴
  • windows10怎么设置自启动
  • ecshop有哪些bug
  • PHP:stream_context_set_option()的用法_Stream函数
  • 最小的电脑是多少寸的
  • 直线法摊销的账面价值
  • 两个岗位 如何选择
  • thinkphp count
  • php json 对象
  • 开发票如何计算税率
  • 谷歌浏览器被hao123锁定改不了
  • php实用教程
  • 可予税前扣除的合理部分
  • wordpress全站伪静态
  • access宏操作
  • Python psd-tools如何转换文件
  • 利息收入为什么冲减财务费用
  • 差旅费津贴要交税吗怎么算
  • SQL server 2008中的数据库能否只包含数据文件
  • mysql log
  • mysql性能问题
  • mysql查询在什么之间
  • 如何把有余额的账单删除
  • 转让股权收入属于收入总额吗
  • 什么是年化收益和绝对利率
  • 合作经营利润分配协议
  • 主营业务收入的概念
  • 纳税人为风险纳税人怎么办
  • 开建筑工程公司赚钱吗
  • 实缴出资未注明投资款
  • 库存商品发出计价测试
  • 一般纳税人支付的哪些增值税进项税额不能抵扣
  • 劳务公司开出发票没有收到钱,怎么做成本
  • 公司房屋租赁协议
  • 年底未分配利润为负数怎么做分录
  • 建账选用什么会计制度
  • linux下多个mysql5.7.19(tar.gz)安装图文教程
  • 文件历史版本功能
  • 微软系统win10
  • osx怎么用
  • ie运行flash
  • win7系统删除文件夹怎么恢复
  • linux网络中断
  • jquery1
  • msoobe命令
  • perl \w
  • opengl glbegin
  • 在Html中使用Requirejs进行模块化开发实例详解
  • Node.js中的事件循环是什么意思
  • linux系统监控脚本
  • python咋写
  • [置顶]津鱼.我爱你
  • dos 删除文件夹下所有文件
  • javascript网页游戏制作教程
  • nodejs child_process
  • 电子税务局新户报道怎么弄
  • 货物税费
  • 国税开票二维码图片
  • 九江税务总局
  • 航天金穗280怎么入账
  • 商品房增值税如何算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设