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