js闭包函数为什么有内存泄漏的问题存在

2025-04-09 01:59:46
推荐回答(1个)
回答1:

给你写个简单的例子你就明白了
例:
function a(){
var b = 1;

//闭包

(function(){
b = 2;

})();
}
a();

说明:按理来说b时属于a中的一个局部变量,是会在调用a时创建,调用完销毁的变量,但a中有一个闭包也就是其中的匿名函数调用了b,所以内存回收认为b是被引用的,因此在回收的时候不会释放它。所以b一直存在内存中,而外部却不能调用这个变量,这就产生了内存泄漏。。。。
纯手打,求采纳。