位置: 编程技术 - 正文

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

  • 政府补助利得要交企业所得税吗怎么算
  • 小规模纳税人企业所得税计算
  • 增值税申报怎么填写报表
  • 销售财务软件的公司怎么做账
  • 管理费用借贷方都有,如何结转
  • 应交税费贷方发生额表示什么金额
  • 企业股权无偿转让不缴增值税
  • 律师费的发票税率怎么算
  • 2020年关于住房公积金的新规定
  • 一般纳税人取得小规模专用发票可以抵扣吗
  • 退休人员基本养老金调整幅度需要综合考虑什么因素
  • 土地使用权入账价值
  • 境外付汇代扣代缴
  • 一般贸易免抵退税计算
  • 金税盘开票时间不对怎么办
  • 增值税减免税款科目怎么结转
  • 增值税优惠政策有哪些
  • 免税个体户发票税率多少
  • 所得税的计税依据
  • 利润表申报本年怎么填
  • 金银首饰零售消费税税收优惠
  • 腾讯手游助手如何隐藏鼠标
  • 呆账催讨原则是谁提出的
  • 房产契税怎样交费
  • 城市生活垃圾处理方法
  • win10任务栏变成黑色
  • php-ml
  • mozilla是什么文件
  • 公司注销后虚开能查吗
  • 收到银行退回账号短信
  • 固定资产残值率怎么计算
  • 全面带你了解AIGC的风口
  • 生日快乐html5代码
  • 参加《2022 中国开发者影响力盛典》我的 4 重收获!
  • cynefin框架
  • php5魔术方法
  • 贷款和应收款项属于金融资产吗
  • 应交税费为负数在资产负债表里怎么填
  • 织梦cms不更新了吗
  • 小规模资产负债表怎么填写
  • sqlcoalesce
  • 企业管理费会计怎么做账
  • 流动资产比例大说明什么
  • MySQL中distinct与group by语句的一些比较及用法讲解
  • 营业收入的构成分析主要包括
  • 金税盘 申报
  • 资产减值准备的计提影响递延所得税资产吗
  • 发票必须包含什么内容
  • 银行预留印鉴是啥
  • 增值税免征印花税怎么算
  • etc插卡成功有什么反应
  • 销售佣金的会计科目
  • 广告公司如何开展业务
  • 会计上有哪些
  • 如何开具发票?
  • 设备丢失查找
  • 施工企业主营业务收入二级科目有哪些
  • 应收帐款 发票
  • 删除windows用户密码
  • win7如何打开远程桌面连接
  • reminder.exe - reminder是什么进程 有什么用
  • windows8连wifi
  • 通知栏图标怎么变小
  • win10如何创建系统分区
  • win10安装软件点击没反应
  • linux运行级别有几种
  • mingw 编译
  • opengl示例
  • cocos2d schedule
  • 性能优化实验
  • vuex按需加载
  • jQuery prototype冲突的2种解决方法(附demo示例下载)
  • javascript如何绘制曲线
  • js中concat的用法
  • android sdk location should not contain
  • python二分查找非递归
  • 增值税0申报操作流程
  • 民办学校需要交工会经费吗
  • 进口完税价格包括哪些部分
  • 营改增后租金如何交税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设