在JavaScript中,闭包是指在一个函数内部创建另一个函数,该内部函数可以访问外部函数的所有变量、参数和内部函数,即使外部函数已经执行完毕,这些变量仍然会保存在内存中。
function outer() {
var name = "John";
function inner() {
console.log(name);
}
return inner;
}
var fn = outer();
fn(); // 输出 "John"
在这个例子中,outer函数返回了一个内部函数inner,并且name变量被保存在内存中,直到fn变量被销毁。