js内存释放

JavaScript05

js内存释放,第1张

内存泄露?由js代码引起的浏览器崩溃?

个人觉得靠删除节点或内容没什么用,因为一段js代码加载后不过是一段文本,它的开销在加载过程中可能会比较大,但是一旦加载,那就已经是驻留在浏览器端的本地了,这段文本不运行的时候占不了多少空间吧。而且方法一旦运行完那也结束了方法的生命周期,在下次调用前,也不过是一段文本。

反而如果你的代码结构不合理,比如频繁的用分支、嵌套循环反而会造成内存消耗过大。所以建议还是从代码优化着手:

比如,可以把一些比较耗时的逻辑运算放在后台(服务器)运行,而页面只作相应的布局、展示操作。并且前端、后台通过ajax交互。

另外,像你所说的删除js节点,不知道以下方式可不可行:

1.将script节点的src重定向,定向到一个空白的js文件,这样相当于被空杯文件覆盖了;

2.上面那个重定向的方法我也不知道存不存在,不过如果你的js文件可以扔进一个iframe里的话,那就没问题了,重定向iframe肯定是可以的;

最后,祝你好运!

可以不用考虑清除内存的事情,因为javascript自带垃圾回收机制。

JavaScript语言是一门优秀的脚本语言。其中包含脚本语言的灵活性外还拥有许多高级语言的特性。例如充许构建和实例化一个对象,垃圾回收机制(GC:Garbage Collecation)。通常我们使用new创建对象,GC负责回收对象占用内存区域。因此了解GC,可以加深对javascript垃圾回收机制的理解。

GC在回收内存时,首先会判断该对象是否被其它对象引用。在确定没有其它对象引用便释放该对象内存区域。因此如何确定对象不再被引用是GC的关键所在。

javascript属于脚本语言,用浏览器内置的脚本解释器来执行,有自动释放内存和垃圾处理的机制. 暂时不能通过手动来回收和处理内存信息.

ajax自动刷新一般情况下是不会占用太大内存的,你检查你的代码是不是写入了死循环,或是写入了暂用内存比较大的变量!