var f = (function(){ var f, g; if (true) { f = function g(){}; } else { f = function g(){}; } // 设置g为null以后它就不会再占内存了 g = null; return f; })();
如果 g 不设成 null,那么 f 引用的那个立即函数执行完过后,g 不会被释放吗
g
null
f
人生最曼妙的风景,竟是内心的淡定与从容!
命名函数表达式探秘-JScript的内存管理
还有一点很重要,注意上下文,这个代码的内存泄漏,说的是 JScript,而不是 javascript。你应该把这篇文章继续看看,不要断章取义,看看JScript的bug章节,就明白了。
结论:
命名函数表达式探秘-JScript的内存管理
还有一点很重要,注意上下文,这个代码的内存泄漏,说的是 JScript,而不是 javascript。你应该把这篇文章继续看看,不要断章取义,看看JScript的bug章节,就明白了。
结论: