如何删除或取消设置 Javascript 变量 [重复]

Posted

技术标签:

【中文标题】如何删除或取消设置 Javascript 变量 [重复]【英文标题】:How to delete or unset a Javascript variable [duplicate] 【发布时间】:2016-07-10 21:09:18 【问题描述】:

我在 javascript 中有一个全局变量,该变量已由之前的函数填充。

我知道我可以给这个变量无意义的值来测试,但我认为还有另一种方法。例如,我输入了some_var = undefined,它用于测试typeof some_var == "undefined"

有没有更专业的方法来解决这个问题?

【问题讨论】:

您可以将任何不是来自您的函数的值作为已删除值的指示符,但undefinednull 可能是要走的路。 不应该真的要删除变量。只要变量在范围内,它就应该继续存在,只有它的值应该影响任何事情。也许您应该在完成后重新调整范围以摆脱变量...? 【参考方案1】:

像这样定义你的变量:

window.some_var = 1;

...或者像这样:

window["some_var"] = 1;

然后,您可以像这样删除它们:

delete some_var;

...或者像这样:

delete window.some_var;

...或者像这样:

delete window["some_var"];

注意:

如果您像这样定义变量,

delete NOT 会起作用:

var some_var = 1;

【讨论】:

怎么写...错误...不。那真的有效。【参考方案2】:

我在 Javascript 中有一个全局变量,它已经由 上一个函数

如果是全局的则

delete window["variable-name"]; //should do the trick

window.x = 1; //equivalent to var x = 1; if x is global
delete window.x;

如果你只有全局变量的名称,那么

window["x"] = 1; //equivalent to var x = 1; if x is global
delete window.x

【讨论】:

【参考方案3】:

delete window.some_var; 应该做的伎俩。

【讨论】:

如果 some_var 先用 let 或 var 声明则不会。如果一个变量曾经在你的脚本中用 let 或 var first 声明过,你就会被它困住。顺便说一句,这是一件好事。

以上是关于如何删除或取消设置 Javascript 变量 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用javascript取消设置变量? [复制]

如何在php中取消设置全局变量?

浏览器关闭时如何删除或取消设置cookie?

如何在 C 中取消声明(删除)变量?

如何使用 JavaScript 或 jquery 选中/取消选中复选框?

Javascript未设置数组