如果我有以下代码:是否有必要使垃圾收集的原始值无效?
function MyClass() {
this.data = {
// lots of data
};
}
var myClassInstace = new MyClass();
var myobj = {
num:123,
str:"hello",
theClass:myClassInstance
};
我知道这是绝对必要的事情:
myobj.theClass = null;
要释放myClassInstance
及其data
财产GC。但是,我应该怎么处理myobj.num
和myobj.str
?我是否也必须给他们价值null
?他们原始的事实是否改变了有关GC的任何事情?
你想保留'myobj'但要确保其所有值不占用内存或者你想完全从记忆抹'myobjt'? – vlaz
“我知道这是绝对必要的事:'myobj.theClass = NULL;'...” **不,这不是** –
是的,我要刮净'myobj'。如果我想要**那**,我非常肯定,如果我不想导致内存泄漏,那么必须执行'myobj.theClass = null'。 –