关于闭包的记忆性

关于闭包的记忆性

问题描述:

课程中说当闭包产生时,函数所处环境的状态会始终保持在内存中,不会在外层函数调用后被自动清除

请问:调用函数结束后内存不释放吗为什么还会有这种记忆性,请老师用数据结构的知识去解答

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,老师不太清楚‘数据结构’指的是哪些内容?可以参考下面的例子和解释:

https://img1.sycdn.imooc.com//climg/61b2ba6a09afb7d503730297.jpg

https://img1.sycdn.imooc.com//climg/61b2baae094998f900000000.jpg

fn函数调用后,一般局部变量a会被销毁,但是res全局变量接收了fn2函数,fn2中用了a变量。fn2函数不会被销毁,a也就不会被销毁。并且每调用一次res,a值会增加。

这也就是闭包的记忆性,祝学习愉快!

  • 一坨羊毛 提问者 #1

    两个返回值,返回的是什么呢?

    2021-12-10 10:44:22
  • 一坨羊毛 提问者 #2

    不用回答这个问题了

    2021-12-10 11:01:32
  • fn2不也算是局部变量吗,fn2为什么不会被销毁?

    2022-12-09 13:32:52
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师