Если у меня есть следующий код:Нужно ли аннулировать примитивные значения для сбора сборщиков?
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», если я не хочу вызывать утечки памяти. –