当前位置: 首页 > news >正文

js的闭包

目录

  • 什么是闭包
  • 关于内存
  • 那么闭包可以干什么

什么是闭包

闭包就是,当内层作用域通过作用域链向外层寻找数据时的现象

作用域相关可见:https://blog.csdn.net/qq_53922901/article/details/146417362?spm=1001.2014.3001.5501

接下来我们通过debug来证明
在这里插入图片描述
可以看到形成了一个closure,也就是闭包
在这里插入图片描述
当没有向外层寻找数据时,就不会形成闭包

如果数据只声明了,没有内层的数据调用是不会形成闭包的

关于内存

像闭包这样,数据会一直占用内存,那闭包不会导致内存泄漏吗?

闭包也会被垃圾回收机制回收掉
在这里插入图片描述

当我们把断点打到结尾,会发现闭包已经不存在了

那么闭包可以干什么

可以让外部环境访问到函数内的数据

在这里插入图片描述

这样写是无法访问的
那我们手动创建一个闭包
在这里插入图片描述
在函数内再创建一个函数去向外层寻找i,形成闭包,这样就就不会因为函数结束后i跟着消失
在这里插入图片描述

相关文章:

  • linux 运行脚本命令区别
  • Pinecone数据库介绍、Milvus数据库介绍
  • 基于FastAPI与Kimi AI的智能聊天应用开发实践
  • 6. 使用VUE实现前端页面的分级嵌套
  • Spring Boot集成阿里云OSS:对象存储实战指南
  • 【学习】数字经济下数据价值化的内在逻辑与关键挑战
  • Vue的实例
  • SpringBoot整合Log4j2进行日志记录异步写入日志文件
  • 《深度剖析Android 12 SystemUI锁屏通知布局亮屏流程:从源码到实现》
  • 0323-B树、B+树
  • Mybatis-plus配置动态多数据源
  • Linux系统之yum本地仓库创建
  • EMC知识学习一
  • 【android】补充
  • Jenkins 配置python项目和allure
  • 【HTML 基础教程】HTML 元素
  • 逼用户升级Win11,微软开始给Win10限速
  • 使用 langchain_deepseek 实现自然语言转数据库查询SQL
  • LXC 容器技术简介
  • rbpf虚拟机-验证器(verifier)
  • 做营销网站策划有什么前景/品牌推广方案模板
  • 有没有做文创的网站/冯耀宗seo博客
  • 珠海找工作哪个网站好/关键词排名优化易下拉软件
  • p2p网站怎么做/网站自己推广
  • 公司网站模板最新/成都搜狗seo
  • 做网站得做多少网页/产品推广网站哪个好