2016-04-28 2 views
-2

Как мы можем удалить/удалить массив JavaScript из DOM/BOM, определенный в глобальной области?Удалить/удалить заданный пользователем Javascript массив из DOM

с одним из массивов temp, я не хочу занимать память браузера после его использования.

, например, в my.js файла:

var my_array = ['A','B','C','D','E','F','G']; 
delete my_array; //How to? 
+1

Можете ли вы поделиться тем, что вы пробовали? – Rayon

+0

только в любом .js-файле создайте массив javascript вне любой функции. var my_array = ['A', 'B', 'C', 'D', 'E', 'F', 'G']; Теперь не хочу видеть его в DOM, полностью удалить. не должно быть массива с именем my_array. –

+0

Поделитесь своими попытками ... – Rayon

ответ

2

ПРОЛОГА

Ответ на этот вопрос субъективен, как было создано переменный.

JS delete может удалять только свойства объекта. Так как вы уже упоминали браузер, если вы использовали var ключевое слово, например:

var array = ["some","thing"]; 

Вы не можете удалить его. Ever.

delete array; // returns false 

Хотя, если массив случается свойство объекта он может быть удален.

Решение:

  1. Либо использовать этот массив в объекте.
  2. Прикрепите этот массив как свойство объекта окна.

    window.array = ["some","thing"]; 
    

Теперь вы можете легко вызывать удаление на окно или другой объект, который вы прикрепил ваш массив, как:

delete window.array; 

или

delete window['array']; 

EDIT

Поскольку вы указываете, что ваша переменная присутствует в глобальной области видимости, она уже привязана к объекту окна. Можем ли мы по-прежнему использовать delete?

var a = 2433; 
console.log(window.a); //2433 
delete window.a; //false ! 

Не используя УАК ключевое слово, с другой стороны:

x = 4657; 
console.log(window.x); //4657 
delete window.x //true 
  1. Переменные, созданные с помощью var являются объектом в глобальном пространстве.
  2. Переменные, созданные без var, становятся свойством глобального объекта.

источник: - here

+0

Отлично ... Спасибо. –

+0

Не являются ли глобальные переменные автоматически свойствами 'окна'? – nnnnnn

+0

@nnnnnn Я добавлю дополнительные сведения, чтобы прояснить этот момент. –

Смежные вопросы