如何删除或取消设置 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"
有没有更专业的方法来解决这个问题?
【问题讨论】:
您可以将任何不是来自您的函数的值作为已删除值的指示符,但undefined
或null
可能是要走的路。
你不应该真的要删除变量。只要变量在范围内,它就应该继续存在,只有它的值应该影响任何事情。也许您应该在完成后重新调整范围以摆脱变量...?
【参考方案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 变量 [重复]的主要内容,如果未能解决你的问题,请参考以下文章