Как удалить или отключить переменную Javascript

У меня есть глобальная переменная в Javascript, которая уже заполнена предыдущей функцией.

Я знаю, что могу дать этой переменной бессмысленные значения для проверки, но я думаю, что есть другой способ. Например, я поставил some_var = undefined, и он работает с целью тестирования typeof some_var == "undefined"

Есть ли более профессиональный подход к этому?


person Stivan    schedule 23.03.2016    source источник
comment
вы можете взять любое значение, которое не получено из вашей функции, в качестве индикатора для удаленного значения, но undefined или null могут подойти.   -  person Nina Scholz    schedule 23.03.2016
comment
Вы не должны действительно удалять переменные. Переменная должна существовать, пока находится в области видимости, только ее значение должно на что-либо влиять. Возможно, вам следует реструктурировать свою область видимости, чтобы избавиться от переменной после того, как вы закончите с ней ...?   -  person deceze♦    schedule 23.03.2016


Ответы (3)


delete window.some_var; должен помочь.

person Ran Sasportas    schedule 23.03.2016
comment
нет, если some_var был сначала объявлен с помощью let или var. Если переменная когда-то была объявлена ​​с помощью let или var first в вашем скрипте, вы застряли с ней. Что, кстати, хорошо. - person theking2; 28.01.2020

У меня есть глобальная переменная в 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
person gurvinder372    schedule 23.03.2016

Определите свои переменные следующим образом:

window.some_var = 1;

... или вот так:

window["some_var"] = 1;

Затем вы можете удалить их следующим образом:

delete some_var;

... или вот так:

delete window.some_var;

... или вот так:

delete window["some_var"];

Примечание :

delete НЕ работает, если вы определяете свои переменные следующим образом:

var some_var = 1;
person John Slegers    schedule 23.03.2016
comment
Как это сказать ... эээ ... Нет. Это не на самом деле работает. - person deceze♦; 23.03.2016