jQuery中noConflict的解讀

2021-10-11 01:47:43 字數 1259 閱讀 9409

**位置檔案是jq下的global.js

**noconflict方法的作用是將取消指

向,因為

在jq中

取消指向,因為在jq中

取消指向,因

為在jq

中是jq的乙個別名,而我們在實際開發中可能使用了包括jq的其他js庫,而這些庫中可能也會使用作為他

們的某一

個暴露出

來的變數

,而no

conf

lict

就是為了

解決這個

問題。通

過使用n

ocon

flic

t,我們

可以取消

jq中作為他們的某乙個暴露出來的變數,而noconflict就是為了解決這個問題。通過使用noconflict,我們可以取消jq中

作為他們的某

乙個暴露

出來的變

量,而n

ocon

flic

t就是為

了解決這

個問題。

通過使用

noco

nfli

ct,我

們可以取

消jq中

的指向。

****

在原始碼中我們可以看到在**中一開始就會將window中的$jquery屬性賦值給私有變數$jquery,然後在noconflict方法中會先去判斷window.$ === jquery該判斷是為了驗證在專案中引入了jq後是否重新命名了$,如果重新命名了,那就將新的$賦值給window.$。具體就是,如果你除了jq的$,你還使用了其他js庫的$,那我就把位置讓給其他js庫的$,最後通過return jquery讓你自己去重新申明乙個變數名來裝載jq,而不再通過$

在第二個判斷中deep && window.jquery === jquery,是為了迭代jq版本,可能使用了兩個不同的jq版本,如果需要迭代則傳入deep值為true。

下面是**位址,可以自行理解,如果本文說法有誤也請

jQuery原始碼分析之noConflict方法

1 因為下面函式的返回值是jquery物件,以後用x代替 了 只是名字不同而已 var x noconflict var 123 到這裡 被修改為123,被寫到這裡noconflict裡面的 是沒有意義的 x function 上面把var 123寫在那個位置下面兩行 沒有意義的 那麼什麼時候有意義...

jQuery中ajaxPrefilter的應用

jquery的定義了乙個ajax過濾器ajaxprefilter,通過該過濾器可以過濾通過jquery相應的ajax函式傳送的ajax請求。在專案中,很多地方存在指定開始時間 結束時間來獲取該時間區間內某些值隨時間變化的過程線的需求,我們可以定義乙個通用的ajaxprefilter來過濾所有ajax...

jQuery中的動畫 《鋒利的JQuery》

自css3以來,主流 開始偏向於扁平風格和動畫效果,這時就可以jquery的動畫就可以發揮其長處了,靈活的應用其動畫api,讓我們可以設計出很多絢麗的效果。下面,讓我們來列舉一些jquery常用的動畫api。1 show 和hide 方法 1 從display none還原元素預設或已設定的disp...