JS中存在两种变量的作用域,一种是全局变量,一种是局部变量。函数内部可以直接读取全局变量,但是在函数外部无法读取函数内部的局部变量。
闭包是什么?
闭包是指有权访问另外一个函数作用域中的局部变量的函数。被访问的局部变量所在的函数就是闭包函数。闭包的主要作用:延伸了变量的作用范围。
闭包函数的特点:
1、让外部访问函数内部变量成为可能
2、局部变量会常驻在内存中
3、可以避免使用全局变量,防止全局变量污染
4、会造成内存泄漏(有一块内存空间被长期占用,而不被释放)
JS中存在两种变量的作用域,一种是全局变量,一种是局部变量。函数内部可以直接读取全局变量,但是在函数外部无法读取函数内部的局部变量。
闭包是指有权访问另外一个函数作用域中的局部变量的函数。被访问的局部变量所在的函数就是闭包函数。闭包的主要作用:延伸了变量的作用范围。
1、让外部访问函数内部变量成为可能
2、局部变量会常驻在内存中
3、可以避免使用全局变量,防止全局变量污染
4、会造成内存泄漏(有一块内存空间被长期占用,而不被释放)