jquery源码学习
2017-11-04 14:43:19 7 举报
AI智能生成
我们都知道jquery的入口是$()或者jquery(),之中可以传入什么内容呢?传入进行了什么过程呢?这个也许就可以帮你理解。jquery源码的思维导图
作者其他创作
大纲/内容
$
new jQuery.fn.init()
dom element
string
id
直接getElementById
是否是创建dom元素
jquery.clean()创建
jQuery.fn.find()
function
jQuery().ready(fn)
normal(操作流中)
Sizzle/jQuery.find
利用正则对选择器进行匹配 parts
Expr.relative
如果存在位置信息(:last,:eq(2))的匹配,则执行left->right的匹配方式
posProcess
递归调用Sizzle
right->left
Sizzle.find
Sizzle.filter
Expr.relative
Sizzle.find
sizzle.filter
Expr.relative
当我们给$符传递进一个参数时,此时它会根据参数的类型(domElement|string|fn|array)进入不同的流程,在此,重点看string类型的处理,因为只有它才会触发Sizzle。首先调用正则匹配看看是否创建dom节点的操作,然后看是否为简单id匹配,这步也有正则匹配完成,否则进入jQuery.fn.find()函数,由此进入Sizzle的天地 。
无效的参数
$("")
$(null)
$(undefined)
$(false)
0 条评论
下一页