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

时间:2021-10-24 22:48:46

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

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

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

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

闭包的使用:

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

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

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

为什么要使用闭包?

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

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

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

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

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