實現方式很簡單:在初始化的時候,記錄當前全域性中jquery和$兩個變數的的值,用_jquery和_$分別存放,呼叫noconflict方法時,使用_jquery和_$分別恢復對應的值,並且返回jquery物件。
// 初始化jquery物件時,呼叫邏輯如下:// 1. 記錄全域性中的jquery和$變數(此時這兩個變數指向生成jquery物件之前的全域性中的變數)
var//
map over jquery in case of overwrite
_jquery =window.jquery,
//map over the $ in case of overwrite
_$ =window.$;
// 2. 初始化jquery上的noconflict方法,deep可以傳入乙個boolean值,如果傳入deep
jquery.noconflict = function
(deep)
// 如果deep為true,並且jquery指向jquery,釋放全域性jquery變數
if (deep && window.jquery ===jquery)
// 返回jquery物件
return
jquery;
};// 將jquery暴露到全域性(noglobal在初始化時傳入)
if (!noglobal)
jQuery原始碼分析
工具 版本說明 版本號備註 jquery 2.1.1 sublime 3jquery function selector,context jquery.fn jquery.prototype 快速匹配正則 不加g 不光匹配整體項還會匹配到子項 rquickexpr s w w w init jque...
jquery原始碼解析
jquery 原始碼解析,參看 是jquery 3.0版本 入口jquery.js包含core.js,以及jquery的各類功能的組合,包括selector,ajax等等 然後將jquery物件匯出到全域性的jquery符號,以及 符號 確定jquery物件是個函式,這個函式生成出來的資料是物件 建...
jQuery原始碼分析
一 jquery如何做到不汙染變數名並暴露出 供使用者使用 jquery將變數和 寫進立即執行函式,通過函式來包裹所有的變數和方法,再在這個立即執行函式上將 jquery方法繫結到window上,就可以讓使用者使用到jq方法了。二 jquery是如何做到 jquery 的?function wind...