闭包,首先我们需要先了解一下什么是闭包,闭包简单的来说就是函数里面又有一个函数;一个简单的闭包函数如下图所示
如图,我们在函数的内部定义了一个变量,那么我们要如何修改那个变量a呢?答案是只能在函数里面进行改变,在函数fn外面,如果在全局环境下进行变量的更改或者是输出等,都会报错。
如上图所示,我们在函数fn里面定义了一个形参n来接收实参,然后通过里面的函数fn1来改变a的值。
闭包的使用主要是为了防止一些变量发生污染(防止出现全局变量因为命名问题在使用过程中产生冲突)。虽然使用闭包可以防止全局变量污染的问题,但是如果过度使用的话会导致内存泄漏(简单的说就是内存占用过多),如果有兴趣了解内存泄漏可以点击下面链接:内存泄漏的详解(百度百科)