元旦假期转眼即过,终究在末了一天想起最初谁人“雄伟”的设计,然后默默捡起Zepto源码的第一行。在细致深切之前,我愿望能对Zepto库构造有一个团体的相识。看的时间比较短,以下如果有不正确的处所,迎接指出。
最外层
(function(global, factory) {
if (typeof define === 'function' && define.amd)
define(function() {
return factory(global);
})
else
factory(global)
}(this, function(window) {
blablabla...... 地区1
}))
地区1为略去的细节,后面会引见,此处只集合注意力于最外层。
最外层为一个匿名的马上实行函数,由于只需要实行一次。该函数接收两个参数,第一个参数示意zepto将挂载的这个对象,第二个参数为一个函数,重要的内容都由该函数完成(这里临时称之为‘重要函数’,即地区1),至于‘重要函数’细致做了哪些事情,下面引见。
重要函数
‘重要函数’的缩略代码以下
function (window) {
var Zepto = (function() {
blablablabla...... 地区2
})();
window.Zepto = Zepto; 地区3
window.$ === undefined && (window.$ = Zepto); 地区4
(function($) {
blablablabla...... 地区5
})(Zepto);
(function($) {
blablablabla...... 地区6
})(Zepto);
(function($) {
blablablabla...... 地区7
})();
return Zepto;
}
该函数分为6个部份,离别对应上面代码段的地区2-7,重要完成Zepto对象的定义以及Zepto对象上相干要领的定义。
地区2为定义Zepto对象;地区3将Zepto对象绑定为window对象的Zepto属性和$属性,$即成为Zepto的一个别号,这在运用中会牵涉到别号的争执及处置惩罚,此处不细致睁开;地区4完成事宜相干要领的定义;地区5重要定义收集要求的相干要领;地区6重如果封装表单数据处置惩罚的相干要领;地区7对getComputedStyle的参数举行兼容undefined处置惩罚。
下一次会更细致的进修和分享,大概会根据上面的地区加以睁开。