面试题答案
一键面试function outerFunction() {
let localVar = '这是外部函数的局部变量';
return function innerFunction() {
console.log(localVar);
};
}
闭包会在内部函数定义时,将外部函数的活动对象添加到内部函数的作用域链中。这样内部函数就可以访问到外部函数的局部变量。
在实际应用中,由于闭包会使外部函数的活动对象一直存在于内存中,不会被垃圾回收机制回收。如果大量使用闭包且没有及时释放引用,可能会导致内存泄漏,使内存占用不断增加,影响程序性能。