最近在研究Zepto的源码,这是第一篇分析,欢迎你们继续关注,第一次写源码笔记,但愿你们多指点指点,第一篇文章因为首次分析缘由不会有太多干货,但愿后面的文章能成为各位大大心目中的干货。数组
Zepto是一个匿名函数的运行结果,而zepto是该匿名函数中定义的一个对象,注意区分函数
match = ~zepto.qsa(parent, selector).indexOf(element)
zepto.qsa:zepto优化过的选择器优化
zepto.qsa(parent, selector).indexOf(element):若选择器返回值中没法找到element则该语句运行值为-1spa
~zepto.qsa(parent, selector).indexOf(element) :对后面的值进行取反,运算符优先级低于"."code
若为null则返回"null"对象
不然,返回class2type[class2type.toString(obj)]blog
zepto会在代码初始化部分初始化class2type对象:element
$.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { class2type[ "[object " + name + "]" ] = name.toLowerCase() })
返回不含null和undefined的数组(undefined == null 为真,0 == nul和'' == null为假)zepto