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

闭包----闭包的理解、优点

1、闭包的理解
闭包就是能够读取其他函数内部变量的函数。
由于在 javascript 中,只有函数内部的子函数才能读取局部变量,所以说,闭包可以简单理
解成 定义在一个函数内部的函数
所以,在本质上,闭包是将函数内部和函数外部连接起来的桥梁。
2、闭包的优点
  •  保护函数内的变量安全 ,实现封装,防止变量流入其他环境发生命名冲突
  • 在内存中维持一个变量,可以做缓存(但使用多了同时也是一项缺点,消耗内存)
  •  匿名自执行函数可以减少内存消耗
  • 方便调用上下文的局部变量。
3、使用闭包的注意点(缺点)
1 、被引用的私有变量不能被销毁,增大了内存消耗,造成内存泄漏,解决方法是可以
在使用完变量后手动为它赋值为 null
2 、闭包会在父函数外部,改变父函数内部变量的值。所以,如果你把父函数当作对象
object )使用,把闭包当作它的公用方法( Public Method ),把内部变量当作它的私有属
性( private value ),这时一定要小心,不要随便改变父函数内部变量的值。
3 、由于闭包涉及跨域访问,所以会导致性能损失,我们可以通过把跨作用域变量存储
在局部变量中,然后直接访问局部变量,来减轻对执行速度的影响
详细请看

http://www.lryc.cn/news/302992.html

相关文章:

  • jenkins的nmp install命令无法下载包
  • Collection集合体系(ArrayList,LinekdList,HashSet,LinkedHashSet,TreeSet,Collections)
  • Job 和 DaemonSet
  • C++ 二维前缀和 子矩阵的和
  • 第六届计算机科学与技术在教育中的应用国际会议(CSTE 2024)
  • Vue3学习——标签的ref属性
  • 数字化转型导师坚鹏:政府数字化转型之数字化技术
  • go build
  • 力扣238和169
  • Android 基础技术——Framework
  • JavaWeb 中的静态资源访问
  • asp.net web api 用户身份验证
  • 3DTile是不是没有坐标的选择?
  • 数据采集三防平板丨三防平板电脑丨停车场应用
  • 解决git push时的too_many_commits提示
  • GPT-4助力我们突破思维定势
  • 【前端工程化面试题】什么是 CI/CD
  • kafka的安装,用于数据库同步数据
  • Bean 的作用域你知道么 ?
  • Windows 使设置更改立即生效——并行发送广播消息
  • PostgreSQL使用session_exec和file_fdw实现失败次数锁定用户策略
  • Jmeter实现阶梯式线程增加的压测
  • Linux----防火墙之保存规则
  • spring-orm:6 HibernateJpaVendorAdapter源码解析
  • php捕获Fatal error错误与异常处理
  • PyCharm 调试过程中控制台 (Console) 窗口内运行命令 - 实时获取中间状态
  • MacBook Pro如何安装rust编程环境
  • SparkUI任务启动参数介绍(148个参数)
  • nginx 安装
  • 手撕扩散模型(一)| 训练部分——前向扩散,反向预测代码全解析