面试题答案
一键面试- 方法:
- 在JavaScript中,当闭包不再被使用时,将持有闭包的变量设置为
null
,这样JavaScript的垃圾回收机制(GC)就可以回收相关内存。因为垃圾回收机制会定期检查对象是否还有被引用,如果没有任何引用指向该对象,就会回收其占用的内存。
- 在JavaScript中,当闭包不再被使用时,将持有闭包的变量设置为
- 示例:
function outer() {
let largeData = new Array(1000000).fill(1); // 模拟一个占用较大内存的数据
return function inner() {
return largeData;
};
}
let closure = outer();
// 假设这里已经使用完闭包,不再需要它
closure = null;
// 此时,闭包以及闭包引用的外部函数变量largeData就可以被垃圾回收机制回收,从而释放内存