function library(module) {
  $(function() {
    if (module.init) {
      module.init();
    }
  });
  return module;
}
 
var myLibrary = library(function() {
  return {
    init: function() {
      /*implementation*/
      }
  };
}());是在是不明白啊,拜托稍微详细点

解决方案 »

  1.   

    是闭包//整个意思是:初始化某一个模块,如果初始化了,就不再初始化。返回当前整个模块
    function library(module) {//module在这里是作为一个函数传递进来的,他这里是调用下面的那个函数
      $(function() {
        if (module.init) {//是否有定义,这里貌似你写错了吧。
          module.init();//调用传递进来的函数的init方法,在下面整个方法里有定义,仔细看吧。
        }
      });
      return module;//返回初始化的模块
    }
    //定义一个变量,调用上面的方法,返回初始化的模块
    var myLibrary = library(function() {//这里注意了,他传递的是一个函数哦,在javascript里函数也可以充当变量使用
      return {
        init: function() {
          /*implementation*///这里其实就是你要初始化的东西了,你看看上面那个函数,是不是调用这里了呢?这里就是你要做的事情,想干嘛就干嘛把。
          }
      };
    }());//从里面的()可以看出,整个参数是一个函数。
      

  2.   


    function library(module) {//定义一个方法library,有一个参数
      $(function() {//方法library的函数体中引用了另外一个函数,函数名为$,函数$有一个参数,参数是一个函数
        if (module.init) {
          module.init();
        }
      });
      return module;//执行过$后返回module
    }
     
    var myLibrary = library(function() {//调用方法library
      return {
        init: function() {
          /*implementation*/
          }
      };
    }());试分解:var test=function() {
      return {
        init: function() {
          /*implementation*/
          }
      };
    }();//得到
    test={init:function(){/*implementation*/}};
    var myLibrary = library(test);library(test){
      $(function() {
        if (test.init) {//test为对象,有一个init方法
          test.init();//执行init方法
        }
      });
      return test;//执行过$后返回module
    }举个例子,假设$方法为:var $=function(f){
        f();
    }那么执行过后mylibrary将变成一个对象,对象的属性在其init方法中定义,整理一下:var $=function(f){
        f();
    }
    function library(module) {
      $(function() {
        if (module.init) {
          module.init();
        }
      });
      return module;
    }
     
    var myLibrary = library(function() {
      return {
        init: function() {
          /*implementation*/
                this.a=1;
        }
      };
    }());
    alert(myLibrary .a);本来想写个执行过程,实在不好写,写好了再贴上去,这段代码的关键还是看$函数是怎么定义的。或许在$中处理了其他事
      

  3.   

    那个应该是Jquery,$(function() {}就等于$(document).ready(function{})