js内存释放

JavaScript055

js内存释放,第1张

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

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

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

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

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

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

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

最后,祝你好运!

$(function() {

    var handler = function() {

        $.ajax({

            type: 'POST',

            // 向后台请求

            url: './index.php?r=operation/add_ajax',

            data: {

                'confirm': 1

            },

            success: function() {

                //成功时,停止即可

                clearInterval(timer)

            },

            error: function() {

                //错误时

            }

        })

    }

    // 每10秒运行一次

    var timer = setInterval(handler, 10000)

})