当前位置:网站首页>什么是闭包?
什么是闭包?
2022-08-01 13:56:00 【mrcsunflower】
闭包:函数嵌套函数,内部函数就是闭包。
<script>
function outerFun() {
let a = 10;
function innerFun() {
console.log(a);
}
return innerFun;
}
let fun = outerFun();
fun();
</script>正常情况下:函数执行完成,内部变量会销毁(释放内存空间)。
闭包:内部函数没有执行完成,外部函数变量不会被销毁。
应用:封装代码,实现模块化
<script>
let module = (function () {
let a = 10;
let b = 20;
function add() {
return a + b;
}
function sub() {
return a - b;
}
return {
add,
sub
}
})() //立即执行函数,声明时直接调用
let result1 = module.add();
let result2 = module.sub();
console.log(result1);
console.log(result2);
</script>边栏推荐
- ECCV 2022|R2L: 用数据蒸馏加速NeRF
- 六石编程学:问题要面对,办法要技巧,做不好的功能要想办法
- ABC260 E - At Least One(双指针)
- VIP的实现原理
- 力扣160题,相交链表
- Based on 10 years of experience in stability assurance, what are the three key questions to be answered in failure recovery?|TakinTalks big coffee sharing
- 2022-07-29 网工进阶(二十二)BGP-其他特性(路由过滤、团体属性、认证、AS欺骗、对等体组、子路由器、路由最大接收数量)
- kubernetes之DaemonSet以及滚动更新
- 魔众文档管理系统 v5.0.0
- NebulaGraph v3.2.0 Performance Report
猜你喜欢
随机推荐
fh511小风扇主控芯片 便携式小风扇专用8脚IC 三档小风扇升压芯片sop8
LeetCode_动态规划_中等_377.组合总和 Ⅳ
制售假劣农资、非法占用耕地……公安部公布十起危害粮食生产安全犯罪典型案例
ABC260 E - At Least One(双指针)
多线程案例——定时器
如何使用OpenCV测量图像中物体之间的距离
uniapp读取和写入文件
分布式中的CAP原理
人像分割技术解析与应用
MCU开发是什么?国内MCU产业现状如何
【5GC】5G网络切片与5G QoS的区别?
全球都热炸了,谷歌服务器已经崩掉了
微服务原生案例搭建
JMP Pro 16.0 software installation package download and installation tutorial
PAT1166 Summit(25)
牛客刷SQL--5
【码蹄集新手村600题】判断一个数字是否为完全平方数
VINS-mono 论文解读:IMU预积分+Marg边缘化
对标丰田!蔚来又一新品牌披露:产品价格低于20万
程序员的浪漫七夕









