闭包

函数嵌套函数,函数里面的函数(内部函数),就是闭包。闭包,内部函数没有执行完成,外部函数不会被销毁(垃圾回收)。

闭包可以封装一个代码闭包常用来间接访问一个变量,为了避免误修改数据。我们采用变量加函数的方式。

function a(){
    let x=0;
    function b(){
      alert(x++);
}
    return b;
};
let c=a();
c();
 
函数a里面嵌套一个函数b,
函数a返回b。
这样执行var c=a()实际指向的是函数b,函数a外的变量 (c) 调用了函数a里面的函数b。也就是说函数a外部的一个变量(c)引用函数a里面的函数b,就形成了一个闭包。
 
闭包的作用就是a调用后并返回,闭包使得垃圾回收机制并不会回收a所占用的资源,因为a的内部函数b的执行需要依赖a中的变量。
 
 
posted @ 2022-02-20 22:54  puzhiren  阅读(29)  评论(0)    收藏  举报