闭包和执行上下文练习题

本文深入探讨了闭包的概念及其在函数编程中的应用,并详细解释了闭包如何影响内存管理,包括数据生命周期的延长及可能引发的内存泄露问题。

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

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


闭包

闭包:
一个不能销毁的栈空间(局部EC),就是一个闭包。两大作用:
(1)保存
延长闭包中数据的生命周期,所对应的内存一直不会被释放掉 造成内存泄露。
(2)保护
外面想去访问里面的数据,是访问不了的

一、函数嵌套产生EC的情况

在这里插入图片描述

二、数据存储和EC问题

在这里插入图片描述

三、一个函数内部返回另一个函数

在这里插入图片描述

四、引出闭包

在这里插入图片描述

五、一个闭包的练习题

在这里插入图片描述

注意

如果全局函数放到了if中,仅仅提升了声明(函数名),并没有提升赋值(函数体)
在预编译期间,如果函数声明放到了if中,仅仅提供函数名,不提升函数体
如果if条件成立,进入到if中第1个件事,就是赶紧给函数赋值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值