**1:
//因為下面函式的返回值是jquery物件,以後用x代替$了!只是名字不同而已!
var x=$.noconflict();
var $=123;//到這裡$被修改為123,$被寫到這裡noconflict裡面的**是沒有意義的!
x(function()
)//上面把var $=123寫在那個位置下面兩行**沒有意義的!那麼什麼時候有意義呢?看下面**2:
if ( window.$ === jquery )
if ( deep && window.jquery === jquery )
**2:
//有**:_jquery=window.jquery,_$=window.$;這時候_jquery=123;//上面用_jquery儲存了123以後走了這裡的**,呼叫庫以後window.$肯定等於jquery
if ( window.$ === jquery )
if ( deep && window.jquery === jquery )
原始碼如下:
var
// map over jquery in case of overwrite
_jquery = window.jquery,
// map over the $ in case of overwrite
_$ = window.$;
jquery.noconflict = ( deep )
if ( deep && window.jquery === jquery )
return jquery;
};
總結:
(1) 如果沒有引數true那麼就是放棄$,如果引數是true那麼連jquery變數也被放棄了!
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將變數和 寫進立即執行函式,通過函式來包裹所有的變數和方法,再在這個立即執行函式上將 jquery方法繫結到window上,就可以讓使用者使用到jq方法了。二 jquery是如何做到 jquery 的?function wind...
jQuery 原始碼分析
這篇文章可以說是讀這篇文章這篇文章後的總結。jquery最基本的構成結構 var jquery window.jquery window.function a,b jquery.fn jquery.prototype age function jquery.fn.init.prototype jqu...