闭包就是指有权访问另一个函数作用域中的变量的函数
观看了 JS 高级程序设计中的闭包后,发现可以描述的更具体,这个将在后期更新此篇文章
栗子
function foo() {
var local = 1;
function bar() {
local++;
return local;
}
return bar;
}
var func = foo();
console.log(func()); // 2
优点
-
可以读取函数内部的变量
-
函数内部的变量保留在内存中,不被销毁
缺点
- 在闭包不使用的情况下要及时释放,否则将造成内存泄漏