js闭包

定义:(MDN)

闭包(closure)是一个函数以及其捆绑的周边环境状态(lexical environment,词法环境)的引用组合。换而言之,闭包让开发者可以从内部函数访问外部函数的作用域。在 JavaScript 中,闭包会随着函数的创建而被同时创建。

个人见解:由于js的内存释放是会自动进行的,即当没有关于其的引用时,内存会被释放。故可以对一个匿名函数内部某个方法在外部做出引用,这个时候,函数内的词法环境就会被保留。

特点

好处:实现私有变量,避免污染全局;实现迭代
坏处:可能会造成内存泄漏或溢出。

解决方式

对于不小心产生闭包的情况下,可以在函数结束前将外部变量赋值null

posted @ 2022-10-29 21:58  badpear  阅读(27)  评论(0)    收藏  举报