Javascript Java脚本变量问题

Javascript Java脚本变量问题,javascript,Javascript,是否有一种方法可以清空所有变量或删除其中的任何数据。除了写作 Variable1=null;Variable2=null; ……等等。请不要使用任何软件 这并不是说它占用了很多内存,我只是想让它加载得更快。我之所以要null变量,是因为我不希望出现任何可能的错误。代码如下所示: var First_variable; for (var I_am_a_loop=0;I_am_a_loop<10;--I_am_a_loop){ First_variable=prompt("What

是否有一种方法可以清空所有变量或删除其中的任何数据。除了写作

Variable1=null;Variable2=null; 
……等等。请不要使用任何软件

这并不是说它占用了很多内存,我只是想让它加载得更快。我之所以要
null
变量,是因为我不希望出现任何可能的错误。代码如下所示:

var First_variable;
for (var I_am_a_loop=0;I_am_a_loop<10;--I_am_a_loop){
    First_variable=prompt("What is your name.");
}
var第一个变量;

对于(var I_am_a_loop=0;I_am_a_loop,如果重新分配循环中的变量,将它们设置为
null
几毫秒,对您来说并不能真正解决任何问题

即使您确实在循环*中声明了它们,现代JavaScript垃圾收集器也应该不会有任何问题来清除未引用的变量。您唯一会想到的问题是循环引用(因此变量总是有引用)或者快速创建大量大型对象,这会导致大量垃圾处理

  • 如果使用
    var
    它们将被提升到函数顶部,如果使用
    let
    它们将具有块作用域(仅限ECMAScript 6)
关于你的评论:

这并不是说它占用了太多的内存,而是我希望它确保它无论如何都不会弄糟它

请允许我第一个引用唐纳德·克努特的话

程序员浪费大量时间考虑或担心其程序中非关键部分的速度,而在考虑调试和维护时,这些提高效率的尝试实际上会产生强烈的负面影响。我们应该忘记效率低的问题,比如说97%的时间:过早优化是最重要的万恶之源。然而,我们不应该在这关键的3%中放弃我们的机会

我建议您进行度量,并在获得需要的度量之前不要采取任何行动。默认情况下,将代码编写为可读的,而不是高效的

代码 根据您添加的代码,我将进行一些观察…您似乎正在递减循环变量,因此它将永远提示。如果您愿意,可以这样做,但更容易的是使用
while(true){}
循环来明确您要做的事情

否则,如果您真的要执行10次循环,请增加循环变量

var First_variable;
for (var I_am_a_loop = 0; I_am_a_loop < 10; I_am_a_loop++) {
    First_variable=prompt("What is your name.");
}

这似乎是一个奇怪的问题,但要回答这个问题,您可以将相关的代码封装在一个函数中,并依靠javascript的函数级别作用域为您提供每个函数调用的新实例

您可能能够重构代码,以便使用对象或数组代替直接变量

您可以通过一条链式赋值语句来缩短示例代码,例如:

variable1 = variable2 = null; // saves you a bunch of '=null;' if nothing else

我的一般想法是,如果你需要重置的变量少于10个,这只是一个小问题。如果你需要重置的变量多于10个,你可能需要查看你的代码。

你有什么具体问题?网站占用了太多内存吗?你有没有证据表明这些变量对你有影响性能如何?请提供更多详细信息如果您能展示一些当前代码,我们可以提供关于如何清理的建议。但是,如果没有任何代码,我们建议的解决方案可能不适用于您的情况。请查看此指南:还请更频繁地使用圆点划线。在我阅读之前,我已经阅读了3次rstand我所读的。@user3413190-听起来有点像过早的优化。我已经在我的答案中添加了Knuth关于这个主题的著名引用。Javascript什么时候开始具有块作用域?(反问)ES6,带有
let
关键字。我很少假设ES6/Harmony,除非人们指定它,但这是公平的。这非常有用,谢谢
variable1 = variable2 = null; // saves you a bunch of '=null;' if nothing else