javascript的delete

canca canca
2008-05-31 17:20
2
0

JavaScript的垃圾回收是浏览器自行处理的,对于字符串、对象、数据这些没有固定大小,必须为它们动态的分配内存,但什么时候回收这些内存呢?JavaScript使用和Java一样的垃圾回收的方法。程序员不能对此做过多的干预,JavaScript中的delete操作是用于删除对象中的域或者数组中的成员,如果要删除对象只需要将该对象设置为null或者undefined。
delete的用法

delete obj.prop;

delete obj['prop'];

delete arr[i];

例子
<script language="javascript">
var obj = new Object();
obj.className = 'instance';
obj.parent = 'Object';
obj.des = 'some words';
for(key in obj)
alert(obj[key]);
delete obj.des;
for(key in obj)
alert(obj[key]);
</
script>

从对象中删除一个属性,或从数组中删除一个元素。

delete expression

expression 参数是一个有效的 JScript 表达式,通常是一个属性名或数组元素。

说明

如果 expression 的结果是一个对象,且在 expression 中指定的属性存在,而该对象又不允许它被删除,则返回 false

在所有其他情况下,返回 true

发表评论