有人能给我一个简单的例子和​​解释JavaScript中的内存泄漏吗?

时间:2014-03-13 23:57:39

标签: javascript memory-leaks

不使用“参考”一词?简单的例子和​​简单的解释请。

我知道大多数现代电脑,平板电脑和手机都很快,不使用IE因此它不再是一个问题,但我只是想学习。

非常感谢!!

1 个答案:

答案 0 :(得分:0)

这是一个解释,就像我是5 回答内存泄漏一样。

  • 节目:嘿!给我更多记忆,我需要保存一些东西!
  • 操作系统:这里!你去吧!
  • 节目:嘿!给我更多记忆,我需要保存一些东西!
  • 操作系统:这里!你去吧!
  • 节目:嘿!给我更多记忆,我需要保存一些东西!
  • 操作系统:这里!你去吧!
  • 节目:嘿!给我更多记忆,我需要保存一些东西!
  • 操作系统:这里!你去吧!
  • 节目:嘿!给我更多记忆,我需要保存一些东西!
  • 操作系统:没有留下!遗憾
  • CRASH

你必须放弃你不再需要的记忆。

在JavaScript中, MOST 当时,系统足够智能,可以在不再需要的时候放弃它们,但是你可能会意外地挂起来......

   /// Now, this code won't actually run all the way through
   /// because the browser will time out, but lets pretend

   var saveItAll = []; // an array to save everything in.
   var s = "*";        // A string that will keep getting bigger

   while (true) {
     saveItAll.push(s); // Save the string. Use memory.
     s += s; // make the string bigger.
   }

过了一会儿,你将使用所有内存(假设程序被允许运行)并且程序将崩溃。

在旧版本的IE中,很容易意外地占用内存,因为DOM和JavaScript有不同的内容跟踪内存,所以你可以在DOM和你的脚本之间创建一个circular reference,因此 - - 永远不会释放记忆。

详细信息可以用Google搜索...我现在甚至都不会尝试进入它们。