gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 02:04:51 25 4
gpt4 key购买 nike

希望这个基于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.

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

感谢您的阅读。

最佳答案

这肯定不会像你期望的那样工作。 JavaScript 堆不耦合到 DOM - 一旦脚本执行并改变了堆,您就无法通过删除其关联的源代码来“取消执行”它们。

全局变量通常在窗口对象上设置,因此如果您知道名称,则可以从那里删除它们。如果您想撤消 block 内任何 JavaScript 的影响,那您就运气不好了。

关于javascript - 通过从 DOM 中删除代码来清理 javascript 变量范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/786608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com