다음 jquery 코드가 메모리 누수의 원인이되는지 궁금합니다.이 jQuery 코드 스 니펫으로 인해 메모리 누수가 발생합니까?
$(function() {
var parent=$('table#mytable tbody').get(0);
$('tr:last', parent).click(function(){...});
});
내 이해를 위해 $('tr:last', parent)
는 DOM 개체의 마지막 행이지만 익명 함수에서는 클로저의 DOM 개체가 범위 내에 있습니다 따라서 DOM과 js 객체 사이에 순환 참조가 있습니다.
하지만 누수가 실제로 발생하면 Manning이 게시 한 인기있는 책 "jQuery in Action"에 많은 종류의 코드가 있음을 알 수 있습니다. jQuery 코딩에서 "모범 사례"는 해로운 것입니까?
하지만 내 이해가 정확한지 모르겠다. 나는 당신의 의견과 시정을 희망한다. 감사!
파이어 폭스에는 이러한 누출이 있습니까? – jscoot
아니 파이어 폭스는 그런 누출이 없다. 즉이있다. –
질문은 jQuery에 관한 것이 었습니다. 적어도 2009 년 1 월에 릴리스 된 jQuery 버전에서이 코드는 유출되지 않습니다. 이 대답은 잘못되었습니다. 아래에서 정답을 참조하십시오. – umassthrower