1、 什么是闭包
闭包通常来讲就是函数外部可以调用函数内部的变量,一般来讲函数外部是访问不到函数内部的作用域变量的。作用域变量又分为:全局作用域变量,块级作用域变量,函数作用域变量。
2、 如何判断是否是闭包
- 函数嵌套函数
- 内部函数被return
- 内部函数调用外层函数的局部变量
3、 优点/缺点
- 优点:可以隔离作用域,不造成全局污染
- 缺点:由于闭包长期驻留内存,则长期这样会导致内存泄露
4、 如何解决内存泄露
将暴露外部的闭包变量置为null
闭包通常来讲就是函数外部可以调用函数内部的变量,一般来讲函数外部是访问不到函数内部的作用域变量的。作用域变量又分为:全局作用域变量,块级作用域变量,函数作用域变量。
将暴露外部的闭包变量置为null