JS的闭包

1.闭包的概念

闭包函数:声明在一个函数中的函数,叫做闭包函数。
闭包:内部函数总是可以访问其所在的外部函数中声明的参数和变量,即使在其外部函数被返回(寿命终结)了之后。

2.闭包的特点:

让外部访问函数内部变量成为可能;
局部变量会常驻在内存中;
可以避免使用全局变量,防止全局变量污染;
会造成内存泄漏(有一块内存空间被长期占用,而不被释放)

3.自己的理解:

相当于,如果是一个全局变量,比较容易被污染,而定义在函数内部的变量每一次调用函数时候就会被清空,这时候我们就在函数里嵌套一个函数,函数内部的变量就会被保存下来。
最经典的就是计数器例子:

var add = (function () {
    var counter = 0;
    return function () {return counter += 1;}
})();
add();
add();

https://blog.csdn.net/weixin_43586120/article/details/89456183

例子4,11,15

你可能感兴趣的:(JS的闭包)