출처 :<a target="_blank" href="http://www.nextree.co.kr/p7650/">http://www.nextree.co.kr/p7650/</a> <div><br></div> <div><pre style="font-family:'굴림체';font-size:9pt;"><span style="background-color:#efefef;"><!doctype </span><span style="color:#0000ff;font-weight:bold;background-color:#efefef;">html</span><span style="background-color:#efefef;">></span><br><span style="background-color:#efefef;"><</span><span style="color:#000080;font-weight:bold;background-color:#efefef;">html</span><span style="background-color:#efefef;">></span><br><span style="background-color:#efefef;"><</span><span style="color:#000080;font-weight:bold;background-color:#efefef;">head</span><span style="background-color:#efefef;">></span><br><br><span style="background-color:#efefef;"><</span><span style="color:#000080;font-weight:bold;background-color:#efefef;">meta </span><span style="color:#0000ff;font-weight:bold;background-color:#efefef;">charset=</span><span style="color:#008000;font-weight:bold;background-color:#efefef;">"UTF-8"</span><span style="background-color:#efefef;">></span><br><br><br><br><span style="background-color:#efefef;"></</span><span style="color:#000080;font-weight:bold;background-color:#efefef;">head</span><span style="background-color:#efefef;">></span><br><span style="background-color:#efefef;"><</span><span style="color:#000080;font-weight:bold;background-color:#efefef;">body</span><span style="background-color:#efefef;">></span><br><span style="background-color:#efefef;"><</span><span style="color:#000080;font-weight:bold;background-color:#efefef;">script</span><span style="background-color:#efefef;">></span><br><span style="color:#808080;font-style:italic;">// 가장 상단에 위치할 객체는 먼저 선언합니다.<br></span><span style="color:#808080;font-style:italic;"> // (namespace함수를 전역으로 선언하지 않기 위함입니다.)<br></span><span style="color:#808080;font-style:italic;"> </span><span style="color:#000080;font-weight:bold;">var </span><span style="color:#660e7a;font-weight:bold;font-style:italic;">MYAPP </span>= <span style="color:#660e7a;font-weight:bold;font-style:italic;">MYAPP </span>|| {};<br><br><span style="color:#660e7a;font-weight:bold;font-style:italic;">MYAPP</span>.<span style="color:#7a7a43;">nsFunc </span>= <span style="color:#000080;font-weight:bold;">function </span>(ns_string) {<br><span style="color:#808080;font-style:italic;">// '.'으로 구분된 네임스페이스 표기를 쪼갭니다<br></span><span style="color:#808080;font-style:italic;"> </span><span style="color:#000080;font-weight:bold;">var </span><span style="color:#458383;">sections </span>= ns_string.<span style="color:#7a7a43;">split</span>(<span style="color:#008000;font-weight:bold;">'.'</span>),<br><span style="color:#458383;">parent </span>= <span style="color:#660e7a;font-weight:bold;font-style:italic;">MYAPP</span>,<br><span style="color:#458383;">i</span>;<br><br><span style="color:#808080;font-style:italic;">// 최상단의 MYAPP객체는 이미 선언되었으므로 제거합니다.<br></span><span style="color:#808080;font-style:italic;"> </span><span style="color:#000080;font-weight:bold;">if </span>(<span style="color:#458383;">sections</span>[<span style="color:#0000ff;">0</span>] === <span style="color:#008000;font-weight:bold;">"MYAPP"</span>) {<br><span style="color:#458383;">sections </span>= <span style="color:#458383;">sections</span>.<span style="color:#7a7a43;">slice</span>(<span style="color:#0000ff;">1</span>);<br> }<br><br><span style="color:#000080;font-weight:bold;">var </span><span style="color:#458383;">s_length </span>= <span style="color:#458383;">sections</span>.<span style="color:#660e7a;font-weight:bold;">length</span>;<br><span style="color:#000080;font-weight:bold;">for </span>(<span style="color:#458383;">i</span>=<span style="color:#0000ff;">0</span>; <span style="color:#458383;">i</span><<span style="color:#458383;">s_length</span>; <span style="color:#458383;">i</span>+=<span style="color:#0000ff;">1</span>) {<br><span style="color:#808080;font-style:italic;">// 프로퍼티가 존재하지 않아야만 생성합니다.<br></span><span style="color:#808080;font-style:italic;"> </span><span style="color:#000080;font-weight:bold;">if </span>(<span style="color:#000080;font-weight:bold;">typeof </span><span style="color:#458383;">parent</span>[<span style="color:#458383;">sections</span>[<span style="color:#458383;">i</span>]] === <span style="color:#008000;font-weight:bold;">"undefined"</span>) {<br><span style="color:#660e7a;font-weight:bold;">console</span>.<span style="color:#7a7a43;">log</span>(<span style="color:#458383;">i </span>+<span style="color:#008000;font-weight:bold;">"+"</span>+<span style="color:#458383;">sections</span>[<span style="color:#458383;">i</span>])<br><span style="color:#458383;">parent</span>[<span style="color:#458383;">sections</span>[<span style="color:#458383;">i</span>]] = {};<br><span style="color:#660e7a;font-weight:bold;">console</span>.<span style="color:#7a7a43;">log</span>(<span style="color:#458383;">parent</span>)<br> }<br><span style="color:#458383;">parent </span>= <span style="color:#458383;">parent</span>[<span style="color:#458383;">sections</span>[<span style="color:#458383;">i</span>]];<br> }<br><span style="color:#000080;font-weight:bold;">return </span><span style="color:#458383;">parent</span>;<br> };<br><br><br><span style="color:#660e7a;font-weight:bold;font-style:italic;">MYAPP</span>.<span style="color:#7a7a43;">nsFunc</span>(<span style="color:#008000;font-weight:bold;">'korea.seoul.geumcheongu.gasandigital1ro.jeiplatz.name'</span>);<br><span style="color:#660e7a;font-weight:bold;">console</span>.<span style="color:#7a7a43;">log</span>(<span style="color:#660e7a;font-weight:bold;">window</span>.<span style="color:#660e7a;font-weight:bold;font-style:italic;">MYAPP</span>);<br><span style="background-color:#efefef;"></</span><span style="color:#000080;font-weight:bold;background-color:#efefef;">script</span><span style="background-color:#efefef;">></span><br><span style="background-color:#efefef;"></</span><span style="color:#000080;font-weight:bold;background-color:#efefef;">body</span><span style="background-color:#efefef;">></span><br><span style="background-color:#efefef;"></</span><span style="color:#000080;font-weight:bold;background-color:#efefef;">html</span><span style="background-color:#efefef;">></span></pre><pre style="font-family:'굴림체';font-size:9pt;"><span style="background-color:#efefef;"><br></span></pre><pre style="font-family:'굴림체';font-size:9pt;"><span style="background-color:#efefef;">저기서 </span><span style="font-size:9pt;line-height:1.5;"> </span><span style="font-size:9pt;line-height:1.5;color:#660e7a;font-weight:bold;">console</span><span style="font-size:9pt;line-height:1.5;">.</span><span style="font-size:9pt;line-height:1.5;color:#7a7a43;">log</span><span style="font-size:9pt;line-height:1.5;">(</span><span style="font-size:9pt;line-height:1.5;color:#458383;">parent</span><span style="font-size:9pt;line-height:1.5;">) 부분을 볼때 저는</span></pre><pre style="font-family:'굴림체';font-size:9pt;">korea라는 값이 들어와서 undefined이니 빈 객체를 만든후 기존 객체(parent)에 추가 하고</pre><pre style="font-family:'굴림체';font-size:9pt;">그다음에 seoul이라는 값이 오고 undefined이니 빈객체만든후 기존객체 parent.korea 라는 객체에 추가하고..</pre><pre style="font-family:'굴림체';font-size:9pt;"><br></pre><pre style="font-family:'굴림체';font-size:9pt;">이렇게 진행된다고 생각해서 콘솔결과도 위와 같이 나올줄알았는데 정 반대로 나오더라고요</pre><pre style="font-family:'굴림체';font-size:9pt;">제가 잘못이해하고있는부분을 알려주시면 감사하겠습니다</pre><div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201511/14469544989HHp7Xzq1Jjwof.png" width="800" height="500" alt="제목 없음.png" class="chimg_photo" style="border:none;"></div><pre style="font-family:'굴림체';font-size:9pt;"><br></pre></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.