码迷,mamicode.com
首页 > Web开发 > 详细

四.jQuery源码解析之jQuery.fn.init()的参数解析

时间:2014-06-06 09:21:48      阅读:302      评论:0      收藏:0      [点我收藏+]

标签:c   style   blog   a   http   ext   

bubuko.com,布布扣

从return new jQuery.fn.init( selector, context, rootjQuery )中可以看出
参数selector和context是来自我们在调用jQuery方法时传过来的.
那么selector和context都有哪些可能.

bubuko.com,布布扣

 

对于表格中的4~9行中的可能做具体分析.
bubuko.com,布布扣

如果selector是字符串,则首先检测是html代码还是#id.
126行的if语句:以"<"开头,以">"结尾,且长度>=3.则假设额这个是HTML片段,这里只是假设不一定就是合肥的html代码.比如"<div><guofsfsdfd>";
130行的else:表示不是html代码.这个时候用正则表达式来检测.
bubuko.com,布布扣
我对正则不是很懂.不过大致可以看懂,匹配的是html和id.匹配的结果赋值给match.

分析完了selector,context参数后,我们是不是忘了rootjQuery参数.
这个参数是jQuery内部定义的.不是我们手动从外部传入的.
从名字上我们大概能猜出这个参数的大概情况了:根部的jQuery对象.
看源码定义:

bubuko.com,布布扣
那么什么情况下,程序会用到这个参数呢?
1.当document.getElementById()查找失败,

bubuko.com,布布扣
2.selector是函数:

bubuko.com,布布扣
3.selector是选择器表达式,且未指定context;

bubuko.com,布布扣

四.jQuery源码解析之jQuery.fn.init()的参数解析,布布扣,bubuko.com

四.jQuery源码解析之jQuery.fn.init()的参数解析

标签:c   style   blog   a   http   ext   

原文地址:http://www.cnblogs.com/guoyansi19900907/p/3767486.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!