删除脚本元素是否从内存中删除其功能?

vol*_*ron 7 javascript removechild

var scripts  = document.getElementsByTagName("script");
for (var i=scripts.length; i--; ){
   (scripts[i]).parentNode.removeChild(scripts[i]);
}
Run Code Online (Sandbox Code Playgroud)

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

我只是想确认,摆脱脚本标签,不会摆脱已经创建的功能,因为我不在我可以测试的计算机上.

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

jAn*_*ndy 8

简答,没有.

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