js清除object

js清除object,第1张

删除对象,直接使用delete就可以了。
比如:delete
documentgetElementById('div');
删除一个属性的过程也很简单,就是将其置为undefined:
username=undefined;
useralert=undefined;
这样就删除了name属性和alert方法。在之后的代码中,这些属性变的不可用。
在添加、修改或者删除属性时,和引用属性相同,也可以采用方括号([])语法:
user[“name”]=”tom”;
使用这种方式还有一个额外的特点,就是可以使用非标识符字符串作为属性名称,例如
标识符中不允许以数字开头或者出现空格,但在方括号([])语法中却可以使用:
user[“my
name”]=”tom”;
需要注意,在使用这种非标识符作为名称的属性时,仍然要用方括号语法来引用:
alert(user[“my
name”]);
而不能写为:
alert(usermy
name);

因为对象在赋值时,其实是引用,并不是拷贝一份。

可以用以下代码:

Objectprototypeclone=function(){
        var newObj = new Object();
        for(elements in this){
          newObj[elements] = this[elements];
        }
        return newObj;
}
  var name = {a:'value1',b:'value2'};
  var name2 = nameclone();
  name2a="aaa";
  delete name2a;

可以这样:
arraysplice(2,1);
说明:
splice 方法
从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。
arrayObjsplice(start, deleteCount, [item1[, item2[, [,itemN]]]])
参数
arrayObj
必选项。一个 Array 对象。
start
必选项。指定从数组中移除元素的开始位置,这个位置是从 0 开始计算的。
deleteCount
必选项。要移除的元素的个数。
item1, item2, ,itemN
必选项。要在所移除元素的位置上插入的新元素。
说明
splice 方法可以移除从 start 位置开始的指定个数的元素并插入新元素,从而修改 arrayObj。返回值是一个由所移除的元素组成的新 Array 对象。

还可以这样用吗? 如果按你这个写法,Input的value会是:常量字符串“${List[0]}”,这个字符串跟内存中的对象有什么关系呢? 你要是说Value里是一个json串,你可以把它转换成一个对象,这还说得过去。

arrsplice(要删除或增加的元素的index, 要删除的元素的个数, 要增加的元素A, , 要增加的元素B) //返回所有被删除的元素组成的数组
arrsplice(1, 1) //删除第二个元素
另外要创建一个新对象推荐的写法是var obj = {},同理的创建一个新数组推荐的写法是var arr = []

delete 运算符
从对象中删除一个属性,或从数组中删除一个元素。
delete expression
expression 参数是一个有效的 JScript 表达式,通常是一个属性名或数组元素。
说明
如果 expression 的结果是一个对象,且在 expression 中指定的属性存在,而该对象又不允许它被删除,则返回 false。
在所有其他情况下,返回 true。
要求
版本 3
Javascript的变量与delete *** 作符
版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链接>第一种方法是比较彻底的,使用delete删除之后,JS的垃圾处理机制会自动将无指向的函数占用空间删除。
同时 delete删除之后的一个对象,会连同名称一起,在这个对象中被删除清空。
而ashow=null,只不过是将这个对象的一个名为show的键值给赋予了一个null的数据,虽然占用空间会急剧缩小,但这个键值还是存在于这个对象中的。
至于没有了指向的function(){alert();}这个函数,会被垃圾回收机制消除掉,释放内存空间。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13396696.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-28
下一篇 2023-07-28

发表评论

登录后才能评论

评论列表(0条)

保存