code: function Module(id, deps, factory, root) {
      if (arguments.length === 0) {
          throw new Error('Module: I need a agrument');
      }
      if ($.isFunction(id)) {
          factory = id;
          id = undefined;
          deps = emptyArr;
      } else if ($.isArray(id)) {
          deps = emptyArr;
          id = undefined;
      } else if ($.isFunction(deps)) {
          factory = deps;
          deps = emptyArr;
      }
      this.id = id ? getPath(id)[2] : id;
      this.status = 'uninitialized';
      if ($.isString(deps)) {
          deps = deps.split(',');
      }
      this.dependencies = deps;
      this.factory = factory;
      this.root = root || _; //默认挂靠在window全局，使用_，默认挂靠到MixJS上
      this.undef = []; //没有定义的模块
      this.id && (mapDefined[this.id] = 'uninitialized');
      this.checkDependencies(deps);
      this.define();
  }
docs: Module类
  @param {String} id      moduleID
  @param {Array} deps    依赖模块
  @param {Function} factory 工厂函数
  @param {Object} root    相对定义的root