首页 > 其他 > 详细

什么是闭包?如何理解及使用闭包?

时间:2019-07-21 21:21:02      阅读:98      评论:0      收藏:0      [点我收藏+]

近端时间会按照我的理解来发表几篇博客,来整理面向对象特点,闭包,基本数据,等写几篇博客,如有错误请指出。

首先我们来先看下闭包。举个例子看一下先:

  技术分享图片

技术分享图片

 

 或许你会说可以在aa函数中返回age,然后赋给一个全局变量,这样就可以使用了。但真的是这么简单吗?

  对此,我觉的不可行,首先你要一直反复使用这个变量,其次函数在执行完后会自动销毁。此时,函数中声明的变量也随之销毁,所以不能持续使用,所以才会有闭包机制,通过闭包来实现可持续执行操作。

技术分享图片

这张图足以可以知道什么是闭包了,简单来说,就是全局想要持续访问局部中的变量,但因为函数在执行完后会进行销毁,你就需要给函数设置个儿子,让儿子返回这个变量,然后再将儿子返回,以便达到你可以持续访问这个变量。

为什么要使用闭包?

  因为我们想要持续的使用一个变量,放在全局中会造成全局污染,放在函数中,函数执行完后会销毁,变量也随之销毁,因此需要使用闭包。

闭包的好处:就是可以持续访问局部中的变量。

闭包的坏处:会占用更多的内存,不容易被释放。

技术分享图片

最后说下,切记在使用完变量后对闭包进行释放,否则会造成内存损耗

什么是闭包?如何理解及使用闭包?

原文:https://www.cnblogs.com/wkxdd/p/11222480.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!