autojs用函数封装,函数结束会彻底释放内存吗

JavaScript011

autojs用函数封装,函数结束会彻底释放内存吗,第1张

autojs用函数封装,函数结束不会彻底释放内存。根据查询相关资料信息,不会彻底释放内存,使用内存清空函数,对内存进行清空,autojs是基于一个标准字典库的文本输入自动完成JavaScript库。Auto.js是使用纯JS实现的,没有任务外部依赖,大小仅仅6kb。

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

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

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

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

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

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

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

最后,祝你好运!