JavaScript闭包那点事儿

67 阅读1分钟

微信图片_20221114092210.jpg

到底什么是闭包呢

javascript提供存储变量的方法和能力,当我们在一个页面操作某个数据的时候,总是希望在页面不刷新的情况下可以保存下这个变量。

优点

1.函数嵌套函数,可以通过内嵌函数对函数中的局部变量进行访问; 2.可以通过闭包封装私有的方法和定义具有共享意义的变量;

缺点

1.导致部分局部变量没有因为执行上下文而被销毁,使得内存消耗大; 2.容易造成内存泄漏;

解决方法

let add = function() add = null // 释放对闭包的引用

最真实的例子

1.定时器函数 2.vue单页面的data(){}方法