源碼分析到這里,我們用一個簡單的代碼結構對之前的工作做一個總結。并且根據這個結構,把初始化一個zepto對象的過程在捋一捋。

```js
var Zepto = (function(){
var $,
zepto = {}
// ...省略N行代碼...
zepto.Z = function(dom, selector) {
dom = dom || []
dom.__proto__ = $.fn
dom.selector = selector || ''
return dom
}
zepto.init = function(selector, context) {
var dom
// 針對參數情況,分別對dom賦值
// 最終調用 zepto.Z 返回的數據
return zepto.Z(dom, selector)
}
$ = function(selector, context){
return zepto.init(selector, context)
}
$.fn = {
// 里面有若干個工具函數
}
// ...省略N行代碼...
return $
})()
window.Zepto = Zepto
window.$ === undefined && (window.$ = Zepto)
```