通过从DOM中删除它的代码来清理javascript变量范围

tar*_*ras 2 javascript jquery dom

希望这个基于jquery的简单代码有助于解释这个问题.

HTML:

<script> 
  $('#remover').click(function(){
   $('#block').empty();
  })
  $('#test').click(function(){
   alert(remove1);  // still displays the varibale
  })
</script>
<div id="block">  
 <script>
    var remove1 = 'asasdsds';
    var remove2 = 'asasdsds';
    var remove3 = 'assdsdsdas';         
    var blabla = 'blablabl';
 </script>
</div>

<span id="remover">Remove ALL</span>
<span id="test">Test</span>  // it will still displays the variable.
Run Code Online (Sandbox Code Playgroud)

我需要通过删除块内容来清除全局范围内的所有变量.块内容是动态的,可以包含任何javascript代码.

谢谢阅读.

Ada*_*ght 7

这肯定不会像你期望的那样有效.JavaScript堆没有耦合到DOM - 一旦脚本执行了,并且变异了堆,你就不能通过删除它们的相关源代码来"删除"它们.

全局变量通常在窗口对象上设置,因此如果您知道名称,则可以从那里删除它们.如果你想撤消块内任何JavaScript的效果,那你几乎不走运.