在 JavaScript 中删除对象
2022-08-29 23:31:41
我对JavaScript的运算符有点困惑。取以下代码段:delete
var obj = {
helloText: "Hello World!"
};
var foo = obj;
delete obj;
执行这段代码后,是 ,但仍然引用与 的对象完全相同。我猜这个对象是指向的同一个对象。obj
null
foo
obj
foo
这让我感到困惑,因为我期望写入删除了指向内存中的对象 - 而不仅仅是变量 。delete obj
obj
obj
这是因为JavaScript的垃圾回收器是在保留/发布的基础上工作的,所以如果我没有任何其他指向该对象的变量,它将从内存中删除?
(顺便说一句,我的测试是在Safari 4中完成的。