<div>안녕하세요 자바스크립트 늅늅이 질문거릴 들고 왔습니다 ㅠ.ㅠ</div> <div><a target="_blank" href="https://github.com/getify/You-Dont-Know-JS">https://github.com/getify/You-Dont-Know-JS</a> 에서 중간에 이해안되는 부분이 있어서요</div> <div><br></div> <div> <div style="display:inline-block;"> <div style="font-family:'나눔고딕', NanumGothic, '돋움', Dotum;"> <div style="display:inline;width:auto;"><a target="_blank" href="http://prev.kr/app/ColorScripter" style="color:#010101;text-decoration:none;" target="_blank">Colored By <b><font style="color:#0099cc;">Color Scripter</font></b>™</a></div></div> <div> <table style="font-size:13px;font-family:NanumGothicCoding, '나눔고딕코딩', '나눔고딕', NanumGothic, '돋움', Dotum;white-space:nowrap;" border="0" cellpadding="0" cellspacing="0"><tbody><tr style="margin:0px;padding:0px;"><td style="color:#888888;margin:0px;padding:0px 3px;text-align:right;border-right-width:3px;border-right-style:solid;border-right-color:#0099cc;"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <div>6</div> <div>7</div> <div>8</div> <div>9</div> <div>10</div></td> <td style="margin:0px;padding:0px 3px;color:#010101;" nowrap> <div style="background-color:#f7f7f7;"><font color="#FF3399">function</font> process(data) {</div> <div> <font color="#999999">// codes</font></div> <div style="background-color:#f7f7f7;">}</div> <div><font color="#FF3399">var</font> someReallyBigData = { .. };</div> <div style="background-color:#f7f7f7;">process( someReallyBigData );</div> <div> </div> <div style="background-color:#f7f7f7;"><font color="#FF3399">var</font> btn = <font color="#0099CC">document</font>.<font color="#0099CC">getElementById</font>( <font color="#993333">"my_button"</font> );</div> <div>btn.<font color="#0099CC">addEventListener</font>( <font color="#993333">"click"</font>, <font color="#FF3399">function</font> click(evt){</div> <div style="background-color:#f7f7f7;"> console.log(<font color="#993333">"button clicked"</font>);</div> <div>}, false );</div></td></tr></tbody></table></div></div></div> <div><br></div> <div>someReallyBigData가 계속 살아있는걸 문제 삼는 부분인데요 click 함수가 해당 스코프를 클로저로</div> <div>가지고 있기 때문에 프로그램 실행 내내 someReallyBigData가 사라지지 않는다고 해요.</div> <div><br></div> <div>클로저가 참조값하나 들고 있으면서 이미 생명주기가 끝난 스코프를 가져오는거잖아요?</div> <div><br></div> <div>addEvenetListener가 리스너를 등록하고 btn 내 프로퍼티(click)가 참조하고 있어서 <span style="font-size:9pt;line-height:1.5;">고놈이 지</span><span style="font-size:9pt;line-height:1.5;">금</span></div> <div><span style="font-size:9pt;line-height:1.5;">위 전체 스코프를 가지고 있는거 아닌가용?</span></div> <div><span style="font-size:9pt;line-height:1.5;"><br></span></div> <div>문제삼는게 빅데이터라 그냥 대충 설명한건지..</div> <div>아니면 제 생각대로 이벤트를 등록하는 부분이 계속 스코프를 잡고 있는건지 혹은 제가 모르는 다른 </div> <div>클로저 건덕지가 있는지 궁금합니다!!</div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.