JS闭包
- 2021 年 10 月 8 日
- 筆記
- javascript
1.什么是闭包:闭包是一种保护私有变量的机制,在函数执行时形成私有的作用域,保护里面的私有变量不受外界干扰,使得私有变量不被JavaScript垃圾回收机制强制回收,直观的讲是函数里面套函数!
2.闭包的优点:一个函数可以访问另外一个函数的变量,可以保护私有变量不被全局变量污染,在一个不熟悉的网页中嵌入功能使用闭包是很好的选择。
3.闭包的缺点:过多使用闭包会造成内存占用过多的问题,滥用闭包会造成内存泄漏即内存不被释放,我们知道函数一执行完里面的变量就会立即销毁。
4.代码:
function add(){ var num = 0; return function(){
num++; console.log(num); } } var addFun = add(); addFun();//1 addFun();//2 addFun();//3