참조 : JavaScript Patterns 에서 발췌


//=======================================================================
// SEED Class 영역
//=======================================================================
var SEED = SEED || {};

/**
 * 네임스페이스를 생성한다.
 * @param ns_string
 */
SEED.ns = function(ns_string) {
	var parts = ns_string.split("."),
		parent = SEED,
		i;
	
	// 처음에 중복되는 전역 객체명은 제거한다.
	if ( parts[0] === "SEED" ) {
		parts = parts.slice(1);
	}
	
	for (i = 0; i < parts.length; i++) {
		// 프로퍼티가 존재하지 않는다면 생성한다.
		if ( typeof parent[parts[i]] === "undefined" ) {
			parent[parts[i]] = {};
		}
		
		// 자식들을 검사하기 위해서 현재 나를 부모로 만든다.
 		parent = parent[parts[i]];
	}
	
	return parent;
};

// 사용예
var module2 = SEED.ns("SEED.modules.modules2");
module2 === SEED.modules.module2;//true

posted by 뚱2