从 DOM 中删除/删除 Javascript 用户定义的数组

Delete/Remove Javascript user defined array from DOM

本文关键字:删除 定义 数组 用户 DOM Javascript      更新时间:2023-09-26

我们如何从全局范围内定义的 DOM/BOM 中删除/移除 JavaScript 数组?

对于其中一个临时数组,我不想在使用后占用浏览器内存。

例如,在 my.js 文件中:

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

序言

这个问题的答案取决于变量是如何创建的。

JS delete只能删除对象的属性。既然你提到了浏览器,如果你使用了var关键词,比如:

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

您无法删除它。曾。

delete array; // returns false

虽然,如果你的数组碰巧是对象的属性,它可以被删除。

溶液:

  1. 在对象中使用此数组。
  2. 将此数组附加为窗口对象的属性。

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

现在,您可以轻松地在将数组附加到的窗口或其他对象上调用 delete,如下所示:

delete window.array;

delete window['array'];

编辑

由于您提到变量存在于全局范围内,因此它已经附加到窗口对象。我们还能在上面使用delete吗?

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

另一方面,由于不使用 var 关键字:

x = 4657;
console.log(window.x); //4657
delete window.x //true 
  1. 使用 var 创建的变量是全局空间中的一个对象。
  2. 在没有 var 的情况下创建的变量将成为全局对象的属性。

来源:- 这里