一、閉包結構
二、jquery 無 new構造方法的實現//作用:消除全域性汙染
//採用閉包(匿名函式立即執行)的方式,傳入了window物件
//只在後面暴露 $ 和 jquery 這 2 個變數給外界
方式1:
(function
(window, undefined) )(window);
方式2:
(function
(window) )(window, undefined);
//方式1壓縮細節:window->w undefined->u
*jquery.fn.init.prototype = jquery.fn;(function(window, undefined) ,
// jquery.prototype 即是 jquery 的原型,掛載在上面的方法,即可讓所有生成的 jquery 物件使用
jquery.fn = jquery.prototype =
}// 這一句很關鍵,也很繞
// jquery 沒有使用 new 運算子將 jquery 例項化,而是直接呼叫其函式
// 要實現這樣,那麼 jquery 就要看成乙個類,且返回乙個正確的例項
// 且例項還要能正確訪問 jquery 類原型上的屬性與方法
// jquery 的方式是通過原型傳遞解決問題,把 jquery 的原型傳遞給jquery.prototype.init.prototype
// 所以通過這個方法生成的例項 this 所指向的仍然是 jquery.fn,所以能正確訪問 jquery 類原型上的屬性與方法
jquery.fn.init.prototype = jquery.fn;
})(window);
例項化方法存在這麼乙個關係鏈
三、jquery 方法的過載
例項化乙個 jquery 物件的九種過載方法場景
四、 jquery.fn.extend 與 jquery.extend// 接受乙個字串,其中包含了用於匹配元素集合的 css 選擇器
jquery([selector,[context]])
// 傳入單個 dom
jquery(element)
// 傳入 dom 陣列
jquery(elementarray)
// 傳入 js 物件
jquery(object)
// 傳入 jquery 物件
jquery(jquery object)
// 傳入原始 html 的字串來建立 dom 元素
jquery(html,[ownerdocument])
jquery(html,[attributes])
// 傳入空引數
jquery()
// 繫結乙個在 dom 文件載入完成後執行的函式
jquery(callback)
extend 方法在 jquery 中是乙個很重要的方法,jquey 內部用它來擴充套件靜態方法或例項方法,而且我們開發 jquery 外掛程式開發的時候也會用到它。但是在內部,是存在 jquery.fn.extend 和 jquery.extend 兩個 extend 方法的,而區分這兩個 extend 方法是理解 jquery 的很關鍵的一部分。先看結論:
1)jquery.extend(object) 為擴充套件 jquery 類本身,為類新增新的靜態方法;
2)jquery.fn.extend(object) 給 jquery 物件新增例項方法,也就是通過這個 extend 新增的新方法,例項化的 jquery 物件都能使用,因為它是掛載在 jquery.fn 上的方法(上文有提到,jquery.fn = jquery.prototype )。
五、jquery 的鏈式呼叫及回溯
jQuery原始碼閱讀 swap()
swap css 交換 note this method belongs to the css module but it s needed here for the support module.if support gets modularized,this method should be m...
閱讀筆記 fsnotify原始碼閱讀
fsnotify的github位址是 fsnotify是乙個資料夾監控應用。可以使用建立乙個watcher來對某個資料夾進行監控 檔案目錄很簡單,實際就兩個程式檔案,fsnotify.go 和 各平台的fsnotify go 後乙個檔案是各個不同平台的實現 example test.go中給的是最簡...
《原始碼閱讀》原始碼閱讀技巧,原始碼閱讀工具
檢視某個類的完整繼承關係 選中類的名稱,然後按f4 quick type hierarchy quick type hierarchy可以顯示出類的繼承結構,包括它的父類和子類 supertype hierarchy supertype hierarchy可以顯示出類的繼承和實現結構,包括它的父類和...