11
在JavaScript中删除对象
我对JavaScript的delete运算符有些困惑。采取以下代码: var obj = { helloText: "Hello World!" }; var foo = obj; delete obj; 执行完这段代码后,objis null,但foo仍指的是一个完全像的对象obj。我猜这个对象是foo指向相同的对象。 这使我感到困惑,因为我希望编写会delete obj删除obj指向内存中的对象,而不仅仅是变量obj。 这是因为JavaScript的垃圾回收工作在保留/释放的基础,所以,如果我没有指向对象的任何其他变量,它会从内存中清除? (顺便说一下,我的测试是在Safari 4中完成的。)