2014-09-14 4 views
0

Если у меня есть функция, как это:Создает ли этот код утечку памяти?

function doSomething(param){ 
    var tempV = param;//should I even assign it to another variable? 
    tempV.css('color','red'); 
    tempV = null;//Is this necessary? 
    //Should I do param = null too? 
} 

И я бегу это (код ниже) где-то, возможно, в другой функции:

var elementBeingPassed = $('#someElement'); 
doSomething(elementBeingPassed); 
anotherFunctionSimilarToDoSomething(elementBeingPassed); 
elementBeingPassed = null; 

Будет ли это создать утечку памяти? Нужны ли все инструкции x = null?

Что я хочу сделать, так это не нужно запрашивать один и тот же элемент заново во всех функциях, а просто запрашивать его один раз и передавать его.

ответ

3

Эти переменные все равно выйдут из сферы действия.

Следовательно, установка их на null не имеет значения.

+0

Прошу прощения, так что это утечка памяти или это не утечка памяти? – arlon

+0

@arlon, выходящий из области видимости, означает, что больше не будет ссылок на переменную. [Сборщик мусора] (http://en.wikipedia.org/wiki/Garbage_collection_ (computer_science)) удалит его из памяти для вас, поэтому он не «утешает» память. Вы не можете освободить память вручную. – NanoWizard

+0

@ SLaks @NanoWizard Спасибо за ваши ответы. Я вижу, мне нужно лучше изучить свои области. – arlon

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