jQuery原始碼分析之noConflict方法

2021-07-06 03:47:42 字數 938 閱讀 1986

**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...