jQuery學(xué)習(xí)筆記之總體架構(gòu)
先來看代碼:
(function (window, undefined) {
//構(gòu)建jQuery對象
var document = window.document,
navigator = window.navigator,
location = window.location;
var jQuery = (function () {
var jQuery = function (selector, context) {
return new jQuery.fn.init(selector, context, rootjQuery);
},
_jQuery = window.jQuery;
//............................
//............................
return jQuery; //981行
})();
//工具方法:Utilities;我在jQuery源碼中沒有發(fā)現(xiàn)是哪一塊,如果有發(fā)現(xiàn)的.可以告訴我一下
//回調(diào)函數(shù)列表 Callbacks
//異步隊列 Deferred
//瀏覽器功能測試 Support
//數(shù)據(jù)緩存 Cache
//屬性操作 Attributes
//隊列 Queue
//事件系統(tǒng) Event
//選擇器 Sizzle
//Dom遍歷 Traversing
//Dom操作 Manipulation
//樣式操作 CSS
//異步請求 Ajax
//動畫 Effects
//坐標(biāo) Offset. 尺寸Dimensions
window.jQuery = window.$ = jQuery;
})(window);
1.這個就是jQuery源碼的結(jié)構(gòu)了.個人覺得還是相當(dāng)?shù)那逦陀袟l理的.
2.jQuery的整個最外層就是一個自調(diào)用的匿名函數(shù),這樣就可以創(chuàng)建一個閉包.該閉包中的各種變量,函數(shù)就不會和閉包外的變量和函數(shù)發(fā)生影響,確保了jQuery的獨立性,安全性.
3最后一句代碼:window.jQuery = window.$ = jQuery;則是定義了一個全局變量jQuery和$.并且吧私有變量jQuery的引用賦給了這個全局變量.
4.將最大的對象window當(dāng)做實參傳遞到函數(shù)中,使得window變成了局部變量,可以大大的縮短查找window的查找時間,同樣節(jié)省資源.
5,第二個參數(shù)undefined,是一個形參,在實際執(zhí)行的時候,沒有獲得參數(shù)賦值,那么系統(tǒng)就會給他自動賦值成undefined.這樣在jQuery的閉包中確保了undefined值的真時性,因為undefined在jQuery的外面有可能被篡改掉.盡管這個篡改的結(jié)果,各種瀏覽器不一樣.
相關(guān)文章
jQuery中serializeArray()與serialize()的區(qū)別實例分析
這篇文章主要介紹了jQuery中serializeArray()與serialize()的區(qū)別,結(jié)合實例形式分析了jQuery中serializeArray()與serialize()的具體功能、使用技巧與用法區(qū)別,需要的朋友可以參考下2015-12-12用戶管理的設(shè)計_jquery的ajax實現(xiàn)二級聯(lián)動效果
下面小編就為大家?guī)硪黄脩艄芾淼脑O(shè)計_jquery的ajax實現(xiàn)二級聯(lián)動效果。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07jquery ajax 局部無刷新更新數(shù)據(jù)的實現(xiàn)案例
這篇文章主要對jquery ajax 局部無刷新更新數(shù)據(jù)的實現(xiàn)案例進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-02-02JQuery獲取可視區(qū)尺寸和文檔尺寸及制作懸浮菜單示例
這篇文章主要介紹了JQuery獲取可視區(qū)尺寸和文檔尺寸及制作懸浮菜單,涉及jQuery針對頁面元素屬性動態(tài)操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2019-05-05基于jquery的監(jiān)控數(shù)據(jù)是否發(fā)生改變
在實際開發(fā)中經(jīng)常會遇到數(shù)據(jù)沒發(fā)生改變是,由于用戶不小心點擊保存,這樣導(dǎo)致數(shù)據(jù)庫的日志增大;還有數(shù)據(jù)填寫好后,忘了添加保存直接關(guān)閉頁面離開。2011-04-04基于jquery實現(xiàn)人物頭像跟隨鼠標(biāo)轉(zhuǎn)動
一款非常乖巧的人物頭像跟隨鼠標(biāo)轉(zhuǎn)動效果,在瀏覽器屏幕內(nèi),人物臉龐始終面向鼠標(biāo)轉(zhuǎn)動,本篇文章給大家介紹基于jquery實現(xiàn)人物頭像跟隨鼠標(biāo)轉(zhuǎn)動,有需要的朋友可以參考下2015-08-08