老师什么是闭包不太明白

老师什么是闭包不太明白

正在回答 回答被采纳积分+1

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

1回答
好帮手慕星星 2021-12-18 17:54:25

同学你好,截图中的代码就可以看做是一个闭包

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

一个函数被调用,局部变量一般会被释放,但是在当前代码中,fun函数调用返回内部的innerFun函数,全局变量inn接收函数。inn全局变量不会被释放,innerFun也就不会被释放,innerFun函数中用了局部变量name,所以fun函数中的局部变量name也就不会被释放。

简单理解:函数A嵌套函数B,并返回函数B,全局变量接收函数B的这种格式,就可以看做是闭包。

祝学习愉快!

  • 提问者 球球不一般 #1

    这句话不是很明白fun函数调用返回内部的innerFun函数,全局变量inn接收函数。inn全局变量不会被释放,innerFun也就不会被释放,innerFun函数中用了局部变量name,所以fun函数中的局部变量name也就不会被释放。

    简单理解:函数A嵌套函数B,并返回函数B,全局变量接收函数B的这种格式,就可以看做是闭包。


    搜索

    复制

    2021-12-18 17:56:30
  • 好帮手慕星星 回复 提问者 球球不一般 #2

    大概意思就是innerFun从函数内返回到函数外了,里面用了局部变量name,name不会被释放。函数A嵌套函数B,并返回函数B,全局变量接收函数B的这种格式为闭包,类比同学截图的代码即可。

    2021-12-18 18:00:37
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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