2014-05-06 2 views
0

, когда мы определяем новый объект в javascript, и он повторяется в setinterval, мы видим увеличение использования памяти. что мы можем сделать для пустой памяти от этого нового объекта и уменьшить наше потребление памятиКак ясно Новый объект, созданный на javascript

setinterval(function(){ 
mydoc = new DOMParser(); 
/* do some thing with mydoc */ 
},1000); 

что неправильно в моем коде, и как я могу освободить память от этой переменной?

+0

@deadulya: Nooooo! – Bergi

+0

@MOB: Что именно это «что-то делает»? Это важно для ответа. – Bergi

+0

строка становится объектом dom и некоторым родным братом и получает данные от этого ... и результат посылает другой функции – MOB

ответ

0
setinterval(function(){ 
    var mydoc = new DOMParser(); /create a variable/ 
    /* do some thing with mydoc */ 
    mydoc = null; //manually empty mydoc! 
},1000); 
+1

Какая разница? 'mydoc' в любом случае выходит за пределы области действия в конце функции. – Bergi

+0

var mydoc пределы внутри анонимной функции. и "mydoc = null" просто установите! – jingyinggong

+0

Но почему, когда это не так? – Bergi

1

Возможно, имеет смысл кэшировать объект и повторно использовать его.

Нечто похожее на:

var mydoc = new DOMParser(); 
setinterval(function(){ 
    /* do some thing with mydoc */ 
},1000); 

Если вам необходимо использовать новые объекты, то призывающих delete на ссылке или просто установить его в null перед новым назначением может улучшить положение вещей в некоторых браузерах.

+0

Не могу сделать это ... dom должен определить в setinterval! – MOB

+2

Любые причины для этого? Вы все равно используете глобальную переменную (если ваш код является точным). Обратите внимание, что определение объекта может произойти один раз, но вызовы синтаксического анализа все еще могут быть в setInterval, я проверил это, и переменная не будет удалена из-за объема или, например, для примера. http://jsbin.com/darox/1/edit?js,console Вы можете попробовать установить его на нуль или удалить. – Meligy

+0

в вопросе я комментирую resone – MOB

Смежные вопросы