게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
JS 전역변수를 줄이는 방법이 있을까요
게시물ID : programmer_11290짧은주소 복사하기
작성자 : 겨울늑대
추천 : 0
조회수 : 691회
댓글수 : 3개
등록시간 : 2015/06/15 20:17:43
옵션
  • 본인삭제금지
기본적으로는 다이얼로그 기능을 위해 만든 객체들이 여기저기서 호출되어야 하다보니

다이얼로그가 전부 전역변수에 들어가게 되거든요.


dialog_name.open()같은 구조를 구현하기 위해서 전역변수를 좀 이리저리 많이 써둔 편인데

아까 다이얼로그 질문하신 분 아래 댓글들을 보니 JS전역변수는 아주 혐오하는 수준으로 적게 써야 한다는 느낌을 받아서 그렇지만

이게 실질적으로 줄일만한 깨달음이 딱 하고 오지 않다보니 뭔가 복잡해지네요.

만약이지만 get_dialog_obj("dialog_name").open() 같은 식으로 구성한다고 해도

get_dialog_obj 함수 내부에서는 dialog_name에 대한 정보를 가지고 있어야 하지만, 변수 생명주기를 생각하면 어떻게 해도 끊임없이 늘어날 다이얼로그의 정보는 반드시 전역변수로 선언되어있어야 하거든요.

그리고 좀더 확장해서 생각하면 지속적으로 읽어들여야 하는 옵션 값 또한 전역변수에 있어야 하는데

전역변수에 있지 않다면 매번 AJAX로 서버에 옵션값을 요청해서 받아와야 할 테구요. 

hidden 태그를 만들어 거기에 값을 집어넣는다면 전역변수랑 비슷한 접근성을 가졌지만 태그의 DOM때문에 속도도 더 느려질 것 같은데 이것도 좋은 방법은 아닌것 같고


사실 다이얼로그 뿐만이 아니라 지속적으로 접근해야 하는 오브젝트가 꽤 많습니다... 그만큼 전역변수 양이 터무니없을 정도로 많구요.

전역변수가 있으면 메모리 점유나 접근성, 데이터의 오염 같은 여러가지 문제가 있다는건 알지만

줄일 방법이 없어서 꾸역꾸역 쓰고있는거나 마찬가지인데, 뭔가 방법 있을까요.
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호