从 DOM 中删除/删除 Javascript 用户定义的数组
Delete/Remove Javascript user defined array from DOM
我们如何从全局范围内定义的 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
虽然,如果你的数组碰巧是对象的属性,它可以被删除。
溶液:
- 在对象中使用此数组。
将此数组附加为窗口对象的属性。
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
- 使用
var
创建的变量是全局空间中的一个对象。 - 在没有 var 的情况下创建的变量将成为全局对象的属性。
来源:- 这里
相关文章:
- 未捕获的类型错误:无法读取属性'删除'的未定义
- Es6:能够在设置/更新/删除对象属性时调用自定义方法
- 从 DOM 中删除/删除 Javascript 用户定义的数组
- 隐藏或删除图像 src=未定义
- 从angularjs中的下拉列表中删除未定义的值
- 为什么Kendo DataSource使用自定义方法进行端点通信总是发送相同的对象进行删除
- AngularJS自定义过滤器调用了两次,并在第二次调用时删除输入数据
- 主干->无法调用方法'删除'的未定义
- 从数组中删除未定义的值
- AngularJS摘要周期错误,ngmodel在自定义验证时被删除
- <tspan>文本</tspan>如果没有定义id或类,如何删除文本
- 如何删除cookie错误注意:PHP上的未定义索引
- 序列化具有方法的自定义对象.序列化后删除的方法-要采取的步骤
- 当我单击标记而不是删除它时,我应该做些什么来创建自定义菜单
- 删除Alfresco自定义模型中的特性值
- 如何设置方法,该方法只能删除元素的预定义值
- 从我的网站中删除 Google 自定义搜索
- 如何从元素中删除定义的文本字符
- Jqgrid自定义删除消息
- 如何在 jquery ui 自动完成自定义数据中删除焦点并显示