Zepto.js的有关问题

Zepto.js的问题
写法1:      
 ;(function($){

:})(Zepto)

写法2:
Zepto(function($){
}); 

能否解释一下这两种写法,详细一点好。
------解决思路----------------------
;(function($){

:})(Zepto)
这个叫:立即执行函数,这个意思是代码放那儿在那儿执行。
这样写的目的是,防止$被污染,就是防止被其它占用,比如jQuery,或prototype等其它库。
Zepto(function($){
}); 
这个叫:dom ready函数,当然这个是简写的,这个意思是代码不论放那儿,他都执行的操作时等页面的html元素加载完。
这个就是window.onload = fn 的代替品。
------解决思路----------------------
;(function($){

})(Zepto)
在JavaScript中(ES3、ES5)中,没有像Java这类语言的代码块的概念,
即在大括号

{
    var x = 1;
    var y = function () {};
};

中定义的变量、函数都是全局的,
在需要使用代码块的地方,使用的替代方案:

function f () {}
f()
===简写===>
( function f() {

} )();

( function () {

} )()

将代码放在函数体内,这样定义的变量就是局部的了;

;(function($){

})(Zepto);

====类比====>

var f = function ( $ ) {};
f(Zepto);

------解决思路----------------------
Zepto(function($){
}); 

在Zeptojs中,有一个全局变量(顶级函数)Zepto;
往Zepto()中传递的函数f,会在页面载入完毕后执行,如果已经载入,则会立即执行;
函数f中会被传入一个参数,该参数就是全局变量Zepto;
这样写,更容易理解一些。
Zepto( function( Zepto ){

});