js清除object

JavaScript012

js清除object,第1张

删除对象,直接使用delete就可以了。

比如:delete document.getElementById('div')

删除一个属性的过程也很简单,就是将其置为undefined:

user.name=undefined

user.alert=undefined

这样就删除了name属性和alert方法。在之后的代码中,这些属性变的不可用。

在添加、修改或者删除属性时,和引用属性相同,也可以采用方括号([])语法:

user[“name”]=”tom”

使用这种方式还有一个额外的特点,就是可以使用非标识符字符串作为属性名称,例如

标识符中不允许以数字开头或者出现空格,但在方括号([])语法中却可以使用:

user[“my name”]=”tom”

需要注意,在使用这种非标识符作为名称的属性时,仍然要用方括号语法来引用:

alert(user[“my name”])

而不能写为:

alert(user.my name)

第一种方法是比较彻底的,使用delete删除之后,JS的垃圾处理机制会自动将无指向的函数占用空间删除。

同时 delete删除之后的一个对象,会连同名称一起,在这个对象中被删除清空。

而a.show=null,只不过是将这个对象的一个名为show的键值给赋予了一个null的数据,虽然占用空间会急剧缩小,但这个键值还是存在于这个对象中的。

至于没有了指向的function(){alert()}这个函数,会被垃圾回收机制消除掉,释放内存空间。