删除JavaScript中的对象
我有点困惑于JavaScript的delete接线员。取以下代码:
delete
var obj = { helloText: "Hello World!"};var foo = obj;delete obj;
在这段代码被执行之后,obj是null,但是foo仍然是指一个完全类似的对象obj..我猜这个对象是同一个对象foo指向。
obj
null
foo
这让我很困惑,因为我期待着写作delete obj删除了以下对象obj在内存中指向-而不仅仅是变量obj.
delete obj
这是因为JavaScript的垃圾收集器是在保留/发布的基础上工作的,所以如果我没有指向对象的任何其他变量,那么会从记忆中移除?
(顺便说一下,我的测试是在Safari 4中完成的。)
繁花不似锦
慕工程0101907
相关分类