JavaScript - 内存友好的脚本

时间:2013-01-26 17:51:11

标签: javascript memory-management

JavaScript中是否存在类似内存的脚本?我应该注意哪些原则?我问这是因为我有一个网站,其中#div充满了大量数据,而我使用原始.innerHTML = i_hold_lots_of_data;执行此操作我想知道.innerHTML = '';是否与free()具有相同的效果在C中{1}}

所以我的问题可以缩小到这个问题:在内存管理方面,是否存在处理JavaScript中的大字符串的最佳实践?

2 个答案:

答案 0 :(得分:2)

如果您希望深入了解内存配置文件,则应使用Google Chrome控制台(标签配置文件)等工具。它显示了哪些对象使用了多少内存。

一般来说,你应该知道javascript变量是对内存中事物的引用,并且当没有对它的引用时(在不久的将来某个时候),这个内存会被释放。因此,如果您有大型物体,请确保只在必要时保留它们。如果您只需要在一个地方使用某些东西,请确保它具有局部范围而不是使用全局变量。

答案 1 :(得分:0)

正如我所看到的,Javascript在现代浏览器中被编译成机器代码,其中包括V8,Chakra等引擎。我怀疑内存管理可能因引擎而异。

如果要对代码运行内存检查,可以使用泄漏查找器进行chrome。 http://google-opensource.blogspot.de/2012/08/leak-finder-new-tool-for-javascript.html

我发现在Javascript中对内存管理非常有用的帖子 http://coding.smashingmagazine.com/2012/11/05/writing-fast-memory-efficient-javascript/