【问题标题】:Does removing a script element remove its functions from memory?删除脚本元素是否会从内存中删除其功能?
【发布时间】:2012-01-31 16:05:37
【问题描述】:
var scripts  = document.getElementsByTagName("script");
for (var i=scripts.length; i--; ){
   (scripts[i]).parentNode.removeChild(scripts[i]);
}

有人问我这个问题,我的第一个想法是:不。但是,当您删除 style 元素时,页面会自动更新,从而删除样式。这可能是因为浏览器如何挂钩 css - 我想我记得 CSS 在每个事件(鼠标移动、点击、类型等)上都会更新。

我只是想确认,删除脚本标签不会删除已经创建的函数,因为我不在可以测试的计算机上。

这也让我想到了帮助保护代码免受 firebug[-like] 用户攻击的良好做法

【问题讨论】:

    标签: javascript removechild


    【解决方案1】:

    简短回答,不。

    引擎评估过一次的任何脚本都将在您的会话剩余时间内保留在内存中。即使删除包含代码的整个脚本节点也不会改变这一事实。

    【讨论】:

      猜你喜欢
      • 2014-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-07
      • 1970-01-01
      • 1970-01-01
      • 2018-07-14
      • 2014-04-26
      相关资源
      最近更新 更多