闭包

本文详细解释了闭包的概念,特点,优缺点以及用途。闭包是一个函数,内部嵌套了另一个函数,允许内部函数访问外部函数的参数和变量,即使外部函数已经执行完毕。闭包可以用于模块化代码,保护变量安全,但也可能导致内存泄漏。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

闭包

1.什么是闭包?

我的理解闭包就是一个函数,这个函数(外部函数)内部嵌套了另一个函数(内部函数),嵌套的函数可以访问这个函数的参数和内部变量,并且嵌套的函数是这个函数私有的,外部访问不到。闭包本质上就是在一个函数内部创建另一个函数,是为了解决’在函数内部有权限访问另一函数内部变量“这一需求的。

2.闭包的特点

1.函数嵌套函数。
2.内部函数可以访问外部函数的变量和参数。
3.参数和变量不会随着外部函数的结束而被回收,因为内部函数还在引用。

3.闭包的有点和缺点

好处:
1.变量可以长期驻扎在内存之中,可以做缓存(但使用多了同时也是一项缺点,消耗内存)
2.保护函数内的变量安全 ,实现封装,防止变量流入其他环境发生命名冲突。
3.匿名自执行函数可以减少内存消耗
坏处:
1.被引用的私有变量不能被销毁,增大了内存消耗,造成内存泄漏,解决方法是可以在使用完变量后手动为它赋值为null;
2.其次由于闭包涉及跨域访问,所以会导致性能损失,我们可以通过把跨作用域变量存储在局部变量中,然后直接访问局部变量,来减轻对执行速度的影响。

4.闭包的用途

1.模块化代码

5.闭包需要注意的地方

由于闭包会使函数内部变量长驻内存,需要注意内存泄漏。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值