当前位置:网站首页>js基础知识整理之 —— 闭包
js基础知识整理之 —— 闭包
2022-08-02 22:49:00 【猴小七儿】
闭包的概念: 函数执行都会形成一个私有作用域 保护里面定义的私有变量不受外界干扰,这种保护机制 叫做闭包
但是现在很多的IT开发者认为:函数执行,形成一个不销毁的私有作用域,除了保护私有变量以外,还可以存储一些内容,这样的模式才是闭包
如何写一个闭包
闭包作用:
1、保护
团队协作开发 每个开发者把自己的代码存放在一个私有的作用域中,防止相互之间的冲突
把需要供别人使用的方法 通过return或者window.xxx暴露在全局下即可;
jQuery源码中也是利用保护机制实现的
2、保存
eg:选项卡 的闭包解决方法
单例模式(JS高阶编程技巧:惰性思想/柯理化函数思想…)
在add私有作用域中 将上级(全局)的num变量 修改为110
私有作用域可以修改上级作用域中的变量
全局不能改私有的(因为作用域链只会往上找不会向下级找)
如果要先修改私有作用域的值 必须通过 它的下级修改
fe 里面返回的内部函数—> 也认为是闭包
边栏推荐
- 最近公共祖先(LCA)学习笔记 | P3379 【模板】最近公共祖先(LCA)题解
- IDEA 重复代码的黄色波浪线取消设置
- Test | ali internship 90 days in life: from the perspective of interns, talk about personal growth
- TDengine 在中天钢铁 GPS、 AIS 调度中的落地
- CAS:1445723-73-8,DSPE-PEG-NHS,磷脂-聚乙二醇-活性酯两亲性脂质PEG共轭物
- Yocto系列讲解[实战篇]85 - 制作ubi镜像和自动挂载ubifs文件系统
- 如何通过 IDEA 数据库管理工具连接 TDengine?
- MySQL 用id分库使用name查询
- 数据库主键一定要自增吗?有哪些场景不建议自增?
- Image recognition from zero to write DNF script key points
猜你喜欢
ROS2初级知识(9):bag记录过程数据和重放
WebShell 木马免杀过WAF
The CTF command execution subject their thinking
刚安装完win10专业工作站版,系统变量中Path默认值有哪些?重新建一个“PATH”变量名,会覆盖掉原先的“Path”。
MySQL 与InnoDB 下的锁做朋友 (四)行锁/记录锁
如何使用vlookup+excel数组公式 完成逆向查找?
了解 NFT 质押:Web3 中赚取被动收益的另一种方式
B站回应HR称用户是Loser:涉事面试官去年底已被劝退
「X」to「Earn」:赛道现状与破局思路
同一份数据,Redis为什么要存两次?
随机推荐
思源笔记 本地存储无使用第三方同步盘,突然打不开文件。
1 - vector R language self-study
VMware workstation 程序启动慢
Strict feedback nonlinear systems based on event trigger preset since the immunity of finite time tracking control
用了 TCP 协议,数据一定不会丢吗?
你离「TDengine 开发者大会」只差一条 SQL 语句!
[论文总结] 深度学习在农业领域应用论文笔记10
聚乙二醇衍生物4-Arm PEG-DSPE,四臂-聚乙二醇-磷脂
刚安装完win10专业工作站版,系统变量中Path默认值有哪些?重新建一个“PATH”变量名,会覆盖掉原先的“Path”。
# DWD层及DIM层构建## ,220801 ,
CAS:1445723-73-8,DSPE-PEG-NHS,磷脂-聚乙二醇-活性酯两亲性脂质PEG共轭物
基于奇异谱分析法和长短时记忆网络组合模型的滑坡位移预测
2022第十一届财经峰会:优炫软件斩获双项大奖
Token、Redis实现单点登录
Week 7 CNN Architectures - LeNet-5、AlexNet、VGGNet、GoogLeNet、ResNet
Tanabata is here - the romance of programmers
qt静态编译出现Project ERROR: Library ‘odbc‘ is not defined
无代码开发平台表单样式设置步骤入门课程
mysql根据多字段分组——group by带两个或多个参数
centos7安装mysql5.7步骤(图解版)