2014-09-14 2 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

관련 문제