출처 :
http://www.nextree.co.kr/p7650/
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<script>
// 가장 상단에 위치할 객체는 먼저 선언합니다.
// (namespace함수를 전역으로 선언하지 않기 위함입니다.)
var MYAPP = MYAPP || {};
MYAPP.nsFunc = function (ns_string) {
// '.'으로 구분된 네임스페이스 표기를 쪼갭니다
var sections = ns_string.split('.'),
parent = MYAPP,
i;
// 최상단의 MYAPP객체는 이미 선언되었으므로 제거합니다.
if (sections[0] === "MYAPP") {
sections = sections.slice(1);
}
var s_length = sections.length;
for (i=0; i<s_length; i+=1) {
// 프로퍼티가 존재하지 않아야만 생성합니다.
if (typeof parent[sections[i]] === "undefined") {
console.log(i +"+"+sections[i])
parent[sections[i]] = {};
console.log(parent)
}
parent = parent[sections[i]];
}
return parent;
};
MYAPP.nsFunc('korea.seoul.geumcheongu.gasandigital1ro.jeiplatz.name');
console.log(window.MYAPP);
</script>
</body>
</html>
저기서 console.log(parent) 부분을 볼때 저는
korea라는 값이 들어와서 undefined이니 빈 객체를 만든후 기존 객체(parent)에 추가 하고
그다음에 seoul이라는 값이 오고 undefined이니 빈객체만든후 기존객체 parent.korea 라는 객체에 추가하고..
이렇게 진행된다고 생각해서 콘솔결과도 위와 같이 나올줄알았는데 정 반대로 나오더라고요
제가 잘못이해하고있는부분을 알려주시면 감사하겠습니다