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

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

栗子

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

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


优点

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

缺点

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