我对JavaScript的delete
运算符有点困惑。采取以下的代码:在JavaScript中删除对象
var obj = {
helloText: "Hello World!"
};
var foo = obj;
delete obj;
这段代码已被执行之后,obj
是null
,但仍foo
指物体酷似obj
。我猜这个对象与foo
指向的是同一个对象。
这使我困惑,因为我预计写delete obj
删除obj
指向内存中的对象 - 不仅仅是变量obj
。
这是因为JavaScript的垃圾收集器正在保留/释放的基础上工作,所以如果我没有任何其他变量指向对象,它会从内存中删除将?
(顺便说一句,我的测试是在Safari 4进行)
供您参考。 https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Operators/Special_Operators/delete_Operator – 2009-04-12 23:37:31
关于delete关键字的完整文章http://webcache.googleusercontent.com/search?q=cache:auElwuFsub0J:perfectionkills.com/理解 - 删除/ +删除+ JavaScript&cd = 2&hl = en&ct = clnk&client = safari – 2012-12-17 23:08:34
上面的链接应该是:http://perfectionkills.com/understanding-delete – johnmdonahue 2013-06-13 19:32:38