javascript 模块化编程 1

var myModule=(function(){
    var models={};
    function define(name,deps,cb){
        var tk=[];
        for(var i=0,l=deps.length;i<l;i++){
            tk.push(models[deps[i]]);
        }
        models[name]=cb.apply(cb,tk);
    }
    function get(name){
        return models[name];
    }
    return {
      define:define,
      get:get
    }
})();

myModule.define("千年",["千年老婆"],function(t){
   t.son();
   return {
      son:function(){
         console.log("爸爸,我是儿子");
      }
   }
})

myModule.define("千年老婆",["千年"],function(qiannian){
   //使用千年模块
   qiannian.son();
   return {
      son:function(){
         console.log("妈妈,我是儿子");
      }
   }
})
原文地址:https://www.cnblogs.com/liuminghai/p/4933822.html