js 闭包是什么

发布时间 2023-04-13 09:59:16作者: ducky_L

1、阐述闭包:闭包是js的一种语法特性;

  var x='test';function(){console.log(x)};「函数」和「函数内部能访问到的变量」的总和,就是一个闭包。

2、闭包的作用:间接访问一个变量;以下就实现了一个闭包,它通过返回一个函数使得外部能获得内部的变量。

const increase=function(){
  var count=0;
  return function add(){
    count =+1;  
 }        
}();

//increase() => add()  => count +=1;

3、闭包解决了什么问题:

     ①避免污染全局变量   ② 提供对局部变量的间接访问 ③维持变量,使其不被垃圾回收机制回收;

4、闭包的缺点:使用不当会造成内存泄漏;