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

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

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

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

【问题讨论】:

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

标签: javascript unset


【解决方案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 声明过,你就会被它困住。顺便说一句,这是一件好事。
    猜你喜欢
    • 2010-12-08
    • 2017-02-07
    • 1970-01-01
    • 2011-09-23
    • 2014-06-29
    • 2018-05-29
    • 2012-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多