闭包(Closure):指有权访问另一个函数作用域中变量的函数(定义在一个函数内部的函数)。(能读取其他函数内部变量的函数)
function f1(){
var n = 10;
function f2(){
console.log(n);
}
return f2;
}
var result = f1();
result(); // 10
f2函数即闭包。
闭包的主要作用:
- 延伸了变量的作用范围,可以在外部读取到函数内部的变量;
- 让这些变量的值始终保持在内存中