javascript内存管理

wolfer20
  • 123
  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 不会被释放吗

回复
阅读 3.3k
1 个回答
justjavac
  • 47.7k
✓ 已被采纳

命名函数表达式探秘-JScript的内存管理

还有一点很重要,注意上下文,这个代码的内存泄漏,说的是 JScript,而不是 javascript。你应该把这篇文章继续看看,不要断章取义,看看JScript的bug章节,就明白了。

结论:

  • javascript 代码,不泄漏
  • jscript 代码,泄漏
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏