求助js中闭包内存占用问题
如下代码: 执行到红色的部分时,bigString这个字符串占用的内存是否会释放掉。
function f1() {
var n = 999;
var bigString = "xxxxxx..."// 10万个长度的字符
function f2() {
alert(n++);
}
return f2;
}
var result = f1();
result();//此处执行完毕后。
------解决方案--------------------result 还在,应该不会释放
------解决方案--------------------http://www.cnblogs.com/likehua/archive/2011/03/04/1970775.html
------解决方案--------------------虽然bigString变量未被使用,但其属于f1函数所在的执行环境,而该环境始终被result引用,所以应该不会被回收。
------解决方案--------------------在的。
------解决方案--------------------
存在.
AO = active object
result里包含(但不是全部)这些东西.
result:{
f2()'s AO:{},
f1()'s AO:{
n : 999,
bigString : "xxxxxx..."// 10万个长度的字符
}
global content:{}// 全局变量
}