참조 : 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