第 48 题:什么是闭包?

闭包就是指有权访问另一个函数作用域中的变量的函数

观看了 JS 高级程序设计中的闭包后,发现可以描述的更具体,这个将在后期更新此篇文章

栗子

function foo() {
    var local = 1;
    function bar() {
        local++;
        return local;
    }
    return bar;
}

var func = foo();
console.log(func()); // 2

优点

  1. 可以读取函数内部的变量
  2. 函数内部的变量保留在内存中,不被销毁

缺点

  1. 在闭包不使用的情况下要及时释放,否则将造成内存泄漏

文章的内容/灵感都从下方内容中借鉴

你可能感兴趣的