闭包
本质:在一个函数内部创建另一个函数
闭包函数:声明在一个函数中的函数,叫做闭包函数。
只要存在函数嵌套,并且内部函数调用了外部函数的属性,就产生了闭包.
闭包的this指向的是window
闭包:内部函数总是可以访问其所在的外部函数中声明的参数和变量,即使在其外部函数被返回(寿命终结)了之后。
作用1:隐藏变量,避免全局污染
作用2:可以读取函数内部的变量
有权访问另一个函数作用域中的变量的函数;
第一,闭包是一个函数,而且存在于另一个函数当中
第二,闭包可以访问到父级函数的变量,且该变量不会销毁
特点
让外部访问函数内部变量成为可能;
可以避免使用全局变量,防止全局变量污染;
局部变量会常驻在内存中;
参数和变量不会被垃圾回收机制回收,会造成内存泄漏(有一块内存空间被长期占用,而不被释放)