天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

jQuery 源碼分析筆記

jQuery的宗旨是Write Less, Do More。它對(duì)JavaScript的開發(fā)風(fēng)格侵入性不如YUI那么強(qiáng),當(dāng)然也不如Dojo和YUI如此龐大。它極大的簡(jiǎn)化了JavaScript的日常開發(fā)工作,主要是DOM元素的操作(從名字Query就可以看出)。另外一個(gè)主要工作就是每個(gè)前端開發(fā)者都需要面對(duì)的瀏覽器兼容性。jQuery兼容所有主流瀏覽器的大部分版本,從萬(wàn)惡的IE6開始直到Firefox,Chrome等現(xiàn)代瀏覽器。除了居于核心的一小部分代碼之外,剩下的jQuery都是松散的函數(shù),擴(kuò)展性很強(qiáng)。http://plugins.jquery.com上有成千上萬(wàn)的jQuery插件,你需要的功能幾乎都有對(duì)應(yīng)的jQuery插件,而且不止一個(gè)。
jQuery代碼的頭部是License聲明。采用了GPLv2和MIT雙協(xié)議。而在jQuery聲明下是另一個(gè)項(xiàng)目的聲明:Sizzle。這是jQuery作者另外的一個(gè)開源項(xiàng)目,在MIT、BSD和GPL下發(fā)布。它是一個(gè)獨(dú)立的selector實(shí)現(xiàn)(pure-JavaScript CSS selector engine),可以獨(dú)立使用。它的壓縮版本只有3KB多一點(diǎn),號(hào)稱效率最高的選擇器實(shí)現(xiàn)。jQuery從1.3開始使用Sizzle代替了原來(lái)的selector實(shí)現(xiàn)。
JS代碼中有大量的()和{},這里使用的是Vim閱讀,因?yàn)?命令可以快速的找到匹配的括號(hào)。
代碼總體結(jié)構(gòu)和變量
jQuery的代碼整體上就是一個(gè)匿名函數(shù)調(diào)用:
復(fù)制代碼 代碼如下:
(function (window, undefined) {
// ...
})(window);

這是為了避免污染全局對(duì)象,同時(shí)也可以方便的管理執(zhí)行上下文。這個(gè)技巧在JS代碼中經(jīng)常見到,在jQuery代碼中也很常見。比如,在jQuery和其他JS庫(kù)同時(shí)使用時(shí),$符號(hào)可能已經(jīng)被使用了。為了仍然使用$符號(hào):
復(fù)制代碼 代碼如下:
(function ($) {
// $("...")... 照常使用$
})(jQuery);

在這里傳入真正的jQuery對(duì)象。
下面進(jìn)入真正的實(shí)現(xiàn)部分,首先是$,也就是jQuery對(duì)象的聲明,其中最基本的兩個(gè)成員也列出來(lái)了:
復(fù)制代碼 代碼如下:
var jQuery = (function() {
var jQuery = function(selector, context) {
// 真正的初始化函數(shù)
return new jQuery.fn.init(selector, context, rootjQuery);
},
// 一大堆變量聲明
// fn是主要的函數(shù)實(shí)現(xiàn)點(diǎn),也是jQuery插件的起點(diǎn)。實(shí)際上就是JS原型
jQuery.fn = jQuery.prototype = {
};
// 一個(gè)擴(kuò)展對(duì)象用的函數(shù),可以動(dòng)態(tài)地往對(duì)象上加成員。以后往jQuery里面加成員都是用extend函數(shù)完成的。
jQuery.extend = jQuery.fn.extend = function() {
};
// ...
return jQuery;
})();

jQuery對(duì)象是核心對(duì)象,所有$(...)得到的都是jQuery對(duì)象,除了少部分直接實(shí)現(xiàn)在jQuery下的Utility函數(shù)之外,大部分函數(shù)都是用extend方法加到j(luò)Query對(duì)象里的。

php技術(shù)jQuery 源碼分析筆記,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 免费高清国产 | 国产AV无码一二三区视频 | gogo亚洲肉体艺术照片9090 | 亚洲欧美日本国产在线观18 | 秋霞电影网午夜一级鲁丝片 | 国偷自产视频一区二区久 | 欧美GV肉片视频免费观看 | 色色激情网 | 色综合久久五月 | 亚洲AV无码一区二区三区牛牛 | 国产一级特黄a大片99 | 久久精品电影久久电影大全 | 99久久香蕉国产线看观看 | 国产噜噜噜精品免费 | 日本一本免费线观看视频 | 99久久精品国产国产毛片 | 无码日韩人妻精品久久蜜桃免费 | 国产成人精品免费视频大全办公室 | 视频区 国产 欧美 日韩 | 91次元黄色观看 | 国产婷婷午夜精品无码A片 国产婷婷色综合AV蜜臀AV | 久久国产一区二区三区 | 国产亚洲精品品视频在线 | 色姣姣狠狠撩综合网 | 99国产精品成人免费视频 | 久久精品国产亚洲AV蜜臀 | 把内衣脱了把奶露出来 | 蜜臀AV人妻久久无码精品麻豆 | 在线看片福利无码网址 | 国产色婷婷亚洲99麻豆 | 蜜臀久久99精品久久久久久做爰 | 2022精品福利在线小视频 | 2018年免费三级av观看 | 草莓国产视频免费观看 | 日本无码毛片一区二区手机看 | 蜜桃婷婷狠狠久久综合9色 蜜桃视频一区二区 | 久久综合狠狠综合久久综合88 | 亚洲AV无码偷拍在线观看 | caoporn超碰在线 | 亚洲精品色情婷婷在线播放 | 孕妇bbwbbwbbwbbw超清 |