0

是否可以在 javascript 中计算创建的对象和变量?

我正在使用 Google Chrome 来分析我的网络应用程序。但是调试并找到导致“内存泄漏”的对象并不是那么容易(至少对我来说)。所以我想知道在当前页面上创建的所有对象和变量,这样我就可以知道它们是否被删除。

4

1 回答 1

3

不,您不能在 Chrome(或任何其他主要浏览器)中执行此操作。您可以使用 Chrome 的“内存”页面 (chrome://memory/)了解正在发生的事情,但这并不涉及对象级别,重要的是要了解垃圾收集不会同步或立即发生。浏览器/JavaScript 引擎可以很好地分配内存,将其用于一些 JavaScript 对象,然后正确理解这些对象不再使用,但保留内存以备将来使用。

相反,您可以做的是详细研究 JavaScript 的工作原理,它会告诉您(通常)将保存在内存中的内容以及原因。了解闭包是如何工作 的(披露:这是我贫血的小博客上的一篇文章),并了解 IE 如何不能很好地处理 DOM 元素和 JavaScript 对象之间的循环引用(具体来说,当没有任何引用时它不能很好地清理它们)他们不再,否则这通常不是问题)。一般来说,不要太担心它,直到/除非你有一个特定的问题要解决。(这绝对会发生,但并不像人们有时想象的那么多。)

于 2013-03-24T22:47:33.027 回答