位置: 编程技术 - 正文

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

  • 应交税金和应交税费有啥区别
  • 增值税明细账用三栏式还是多栏式
  • 纳税人识别号在哪里能查到
  • 企业异地迁移
  • 不征税发票需要预缴税款吗
  • 净资产是资产负债表的哪一项
  • 分期付款进项税额怎么算
  • 股东是否实缴出资款
  • 资产负债表存货为负数原因
  • 一般纳税人注销需要多少钱
  • 期间费用如何设置项目核算
  • 赠送给客户的产品发货单要填写单价?
  • 其他综合收益为什么要结转
  • 商品过期可以向商家索要赔偿吗
  • 汇算清缴调增税金及附加
  • 企业去年
  • 非居民企业啥意思
  • 知识产权支出
  • 票据质押放流贷的风险归谁
  • 利润负数所得税怎么算
  • 当月支付费用当月收到发票
  • 电子普通发票如何打印
  • 分支机构增值税汇总纳税怎么申报?
  • 公司购买进口产成品关税会计分录怎么做?
  • linux系统怎么关闭端口
  • 发现以前年度多交增值税怎么申报
  • 在win7系统中将打开窗口拖到屏幕顶端
  • 广告牌费用会计分录
  • linux系统应对攻击的常用防御手段的描述
  • 公司收到供应商的律师函
  • 销售费用里面的支付的安装人工费汇算清缴时计入哪里
  • 防止盗链的php代码
  • php顺序查找和二分查找
  • 小刺猬 (© lorenzo104/Getty Images)
  • 一年的云信承兑汇票如何提现
  • php t_string
  • 浅谈当下火热的行业
  • 小程序微信认证
  • 蔬菜免税分录
  • 申报个税是不是就必须交社保
  • 企业所得税第二十七条规定
  • sqlserver存储过程声明变量
  • sql server概述
  • 增值税的视同销售行为是有哪些?
  • 营改增后土地出让增值税
  • 行政单位与事业单位净资产的比较
  • 前几个月的印花税怎么算
  • 为什么要进行结账和对账
  • 抵债资产处置账务实例
  • 一般纳税人应交增值税怎么算
  • 银行现金支票作废处理步骤
  • 所得税预缴多了可以不退税嘛
  • 补缴以前年度养老保险分录
  • 邮寄发票的快递费走什么科目
  • 资产负债表基本公式
  • 企业控股情况怎么看
  • 资产减值损失是费用类科目吗
  • 买水果送礼
  • sql server数据库中的null(空值)
  • mysql批量执行sql文件
  • windowsxpwindows7都是
  • win8安全中心在哪
  • windows故障
  • centos7如何设置中文
  • dns_config_service_win
  • 物联网 iot
  • kail Linux系统
  • jquery$符号
  • node.js 流
  • python简单gui
  • angular 创建项目
  • js日历插件
  • javascript标签大全
  • 安卓消息处理机制
  • 河南省发票查询真伪
  • 上海个人所得税优惠政策
  • 广东国税局发票查询平台
  • 上海税务开户
  • 社保申报截止日期每月
  • 混凝土搅拌站如何结转成本
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设