_jQuery和_$值的問(wèn)題
感覺有些問(wèn)題,拿出來(lái)討論一下。
1:
Var _jQuery = window.jQuery,
? ? _$ = window.$;
這兩句代碼是一個(gè)即時(shí)執(zhí)行函數(shù)中運(yùn)行的,在這個(gè)地方還沒有將jQuery掛載到window上,$也是一樣,所以_jQuery和_$的值應(yīng)該是undefined。
2:在jQuery.noConflict中,由于整個(gè)即時(shí)執(zhí)行函數(shù)已經(jīng)執(zhí)行完成,jQuery和$已經(jīng)是window的屬性,所以可以拿來(lái)判斷,而同時(shí)由于noConflict是閉包,所以可以訪問(wèn)_jQuery和_$。所以,運(yùn)行jQuery.noConflict ()方法時(shí),如果window上的$屬性指向jQuery的話,則把window.$賦值為_$,其實(shí)就是賦值為undefined.放棄jQuery的做法也是一樣的。
以上是我的理解,不知道對(duì)不對(duì),可以討論下。
2017-02-02
是這么理解的,不過(guò)noConflict不能叫閉包吧? 只是一直保留著_$ & _jQuery的引用, 不管_$是undefined還是上個(gè)框架的$