티스토리 뷰

728x90
SMALL

DOM 메모리 누수

DOM 항목을 가리키는 변수가 이벤트 콜백 외부에 선언된 경우 해당 DOM 항목을 제거하더라도 해당 항목은 여전히 메모리에 남게 된다.

// DOM leak:
var one = document.getElementById("one");
var two = document.getElementById("two");
one.addEventListener('click', function(){
    two.remove();
    console.log(two); // will print the html even after deletion
});

// fix for above
var one = document.getElementById("one");
one.addEventListener('click', function(){
    var two = document.getElementById("two");
    two.remove();
});

// unregister the callback
var one = document.getElementById("one");
one.addEventListener('click', function(){
    var two = document.getElementById("two");
    two.remove();
});
one.removeEventListener('click');

 

객체 참조 제한하기

이러면 안돼

var test = {
    prop1: 'test'
}

function printProp1(test){
    console.log(test.prop1);
}

printProp1(test); //'test'

이래야 돼

var test = {
    prop1: 'test'
}

function printProp1(prop1){
    console.log(prop1);
}

printProp1(test.prop1); //'test'

delete test.prop1; //이건 그냥 삭제하는법

 

728x90
LIST

' > 자바스크립트로 하는 자료 구조와 알고리즘' 카테고리의 다른 글

해시 테이블  (0) 2020.12.19
검색과 정렬  (0) 2020.12.18
집합  (0) 2020.12.17
재귀  (0) 2020.12.17
배열 코드  (0) 2020.12.17
댓글
공지사항