什么你还不理解闭包,五分钟让你理解什么是闭包

41 阅读1分钟

什么你还不理解闭包,五分钟让你理解什么是闭包

闭包就是一个大函数里面包含了一个变量还有一个内部的函数,就是里层函数加上变量就构成了闭包函数如图

image.png

我们在第九行打上断点,这就能发现他是一个闭包函数 image.png

闭包函数的作用是什么

闭包函数主要就是用来保护私有变量,就是局部变量,这里举一个例子

  1. 不是闭包的情况可以发现i可以被修改 image.png

image.png

  1. 闭包的情况

在闭包的情况下发现,i的值不会被修改,这就达到了保护局部变量的效果 image.png

闭包中为什么会有内存泄露

就比如以下这段代码,fun可以找到i的值,fun只有关闭页面的时候才会被销毁所有导致了内存泄漏,一般的闭包函数在执行完成后就会销毁 image.png