如何删除或取消设置Javascript变量

如何删除或取消设置Javascript变量,javascript,unset,Javascript,Unset,我在Javascript中有一个全局变量,它已经由前面的函数填充 我知道我可以给这个变量无意义的值进行测试,但我认为还有另一种方法。例如,我把some\u var=undefined放进去,它是为了测试some\u var==“undefined”的typeofsome\u var==“undefined” 有没有更专业的方法来解决这个问题?像这样定义变量: window.some_var = 1; window["some_var"] = 1; delete some_

我在Javascript中有一个全局变量,它已经由前面的函数填充

我知道我可以给这个变量无意义的值进行测试,但我认为还有另一种方法。例如,我把
some\u var=undefined
放进去,它是为了测试some\u var==“undefined”的
typeofsome\u var==“undefined”


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

像这样定义变量:

window.some_var = 1;
window["some_var"] = 1;
delete some_var;
delete window.some_var;
delete window["some_var"];
var some_var = 1;
。。。或者像这样:

window.some_var = 1;
window["some_var"] = 1;
delete some_var;
delete window.some_var;
delete window["some_var"];
var some_var = 1;
然后,您可以按如下方式删除它们:

window.some_var = 1;
window["some_var"] = 1;
delete some_var;
delete window.some_var;
delete window["some_var"];
var some_var = 1;
。。。或者像这样:

window.some_var = 1;
window["some_var"] = 1;
delete some_var;
delete window.some_var;
delete window["some_var"];
var some_var = 1;
。。。或者像这样:

window.some_var = 1;
window["some_var"] = 1;
delete some_var;
delete window.some_var;
delete window["some_var"];
var some_var = 1;

注: 如果您这样定义变量,
delete
不起作用:

window.some_var = 1;
window["some_var"] = 1;
delete some_var;
delete window.some_var;
delete window["some_var"];
var some_var = 1;

如下定义变量:

window.some_var = 1;
window["some_var"] = 1;
delete some_var;
delete window.some_var;
delete window["some_var"];
var some_var = 1;
。。。或者像这样:

window.some_var = 1;
window["some_var"] = 1;
delete some_var;
delete window.some_var;
delete window["some_var"];
var some_var = 1;
然后,您可以按如下方式删除它们:

window.some_var = 1;
window["some_var"] = 1;
delete some_var;
delete window.some_var;
delete window["some_var"];
var some_var = 1;
。。。或者像这样:

window.some_var = 1;
window["some_var"] = 1;
delete some_var;
delete window.some_var;
delete window["some_var"];
var some_var = 1;
。。。或者像这样:

window.some_var = 1;
window["some_var"] = 1;
delete some_var;
delete window.some_var;
delete window["some_var"];
var some_var = 1;

注: 如果您这样定义变量,
delete
不起作用:

window.some_var = 1;
window["some_var"] = 1;
delete some_var;
delete window.some_var;
delete window["some_var"];
var some_var = 1;
我在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
我在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

delete window.some\u var

应该可以做到这一点。

删除窗口

应该这样做。

您可以将任何不是来自函数的值作为已删除值的指示符,但
未定义的
空的
可能是正确的选择。您不应该真正删除变量。变量应该继续存在,只要它在范围内,只有它的值应该影响任何东西。也许您应该重新构造您的作用域,以便在处理完变量后将其删除…?您可以将任何不是来自函数的值作为已删除值的指示符,但
未定义的
空的
可能是一种方法。您不应该真正删除变量。变量应该继续存在,只要它在范围内,只有它的值应该影响任何东西。也许你应该重新构造你的作用域,在处理完变量后去掉它…?如何把这个。。。犯错误不,那实际上不起作用。怎么把这个。。。犯错误不。这实际上不起作用。如果先用let或var声明某个_var,则不起作用。如果一个变量曾经在脚本中首先用let或var声明过,那么您就必须使用它。顺便说一句,这是一件好事。如果先用let或var声明某个_var,情况就不一样了。如果一个变量曾经在脚本中首先用let或var声明过,那么您就必须使用它。顺便说一句,这是件好事。