2

在问之前我读了这个问题:

如何在 JavaScript 中释放内存

当您的变量数据很大并且您希望该数据有资格进行垃圾回收时,您可以正确地为该变量分配一些小的东西,例如undefinedornull""。但只有在变量持续存在时(例如,它是全局的或某些持久数据结构的一部分)才有意义,如上一个问题所述。

然后我提出了这样的测试请求:

setInterval(function() {
    $.get('http://localhost/small-data', function(r) {
       r = null;
    },'json');
}, 1000); 

在我的示例中,我的 URL(在 localhost)将仅输出5KB

jQuery 会将响应解析r为 JSON,然后我创建一个setInterval不做任何其他事情的循环,几个小时后,Firefox 将拥有比1GB任务管理器更多的东西。

这没有意义。FF 从不释放内存。此示例代码是否存在内存泄漏?

4

0 回答 0