Zepto源码笔记(一)

时间:2023-03-09 06:53:09
Zepto源码笔记(一)

最近在研究Zepto的源码,这是第一篇分析,欢迎大家继续关注,第一次写源码笔记,希望大家多指点指点,第一篇文章由于首次分析原因不会有太多干货,希望后面的文章能成为各位大大心目中的干货。

Zepto是一个匿名函数的运行结果,而zepto是该匿名函数中定义的一个对象,注意区分

zepto.matches

match = ~zepto.qsa(parent, selector).indexOf(element)


zepto.qsa
:zepto优化过的选择器

zepto.qsa(parent, selector).indexOf(element):若选择器返回值中无法找到element则该语句运行值为-1

~zepto.qsa(parent, selector).indexOf(element)  :对后面的值进行取反,运算符优先级低于"."

function type(obj)

若为null则返回"null"

否则,返回class2type[class2type.toString(obj)]

zepto会在代码初始化部分初始化class2type对象:

$.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) {
class2type[ "[object " + name + "]" ] = name.toLowerCase()
})

function compact

返回不含null和undefined的数组(undefined == null 为真,0 == nul和'' == null为假)