자바스크립트에서 생성한 개체를
필요가 없어진 시점에서
강제로 GC (가비지 컬렉트) 할 수 있을까..?
개발자가 임의로 GC 를 작동하게는 할 수 없지만,
해당 개체를 null 처리 함으로써 GC 의 빌미를 제공할 수는 있다.
자바스크립트 변수 생성시 var 를 적용하지 않으면,
모두 전역변수로 설정되면서 화면이 바뀌기 전까지는 메모리를 점유하게 된다.
따라서, 루프 안에서 var 를 사용할 지 루프 밖에서 var 를 사용할 지..
function 안에서 사용할 지, function 밖에서 사용할 지 고민할 필요가 있다.
var dom = '';
for( ... ){
dom += '...';
}
$('#id').html(dom);
dom = null; // 이렇게 null 처리 한다.
물론, 속도를 위해서는
var dom = [];
for( i ... ){
dom[i] = '...';
}
$('#id').html(dom.concat(''));
dom = null;
이게 더 나음.. ^^;
dom 에 쌓이는 데이타가 많거나,
dom 에 데이타를 쌓는 로직이 여러번 호출되는 경우..
확실히 dom+='...' 보다 dom[i]='...' dom.concat('') 방법이 빠름.
암튼, GC 가 필요한 것은 .java 와 동일.
단순 개체는 필요없고,
Referece 가 가능한 데이타는 모두 GC 를 염두에 두어야 함.
'Local Oriented > HTML CSS JS' 카테고리의 다른 글
chartjs-plugin-datalabels 그래프 모든 라벨 동시에 표시 (1) | 2020.09.14 |
---|---|
자바스크립트 테스트용 에디터 웹사이트 (0) | 2020.08.26 |
자바스크립트 switch 와 return (0) | 2019.06.21 |
font-size, pt 와 px 변환 (1) | 2019.06.07 |
iframe 안에서 실행하고 화면 전환시, 크롬에서 문제 (0) | 2019.05.09 |