還是不懂怎么把$交出去的。。
Var?_jQuery?=?window.jQuery,
????_$?=?window.$;
jQuery.noConflict?=?function(?deep?)?{
????if?(?window.$?===?jQuery?)?{
????????window.$?=?_$;
????}
if?(?deep?&&?window.jQuery?===?jQuery?)?{
????????window.jQuery?=?_jQuery;
????}
????return?jQuery;
};看了半天還是沒懂怎么實現把$交出去的。。完全沒理解。。。望大神解答具體的流程。。
2016-04-30
之前的_$和_jQuery是沒有內容的
2016-01-23
var //?Map?over?jQuery?in?case?of?overwrite _jQuery?=?window.jQuery, //?Map?over?the?$?in?case?of?overwrite _$?=?window.$; //?這邊是說保存jQuery和$以防被重寫覆蓋了,這些代碼是jq引入時自執行的, //?此時的window.jQuery或window.$都很有可能是undefined,如果引入jq之前沒有其他庫使用了$和jQuery, //?$.noConfilct()這種用法就是?將引入jq之前的window.$?賦值給window.$,乍看很奇怪,其實就是 //?通過?上面的_$?=?window.$先保存,?然后$.noConfilct()里面,?window.$?=?_$,?此時就完成了 //?jq庫放棄window.$的使用權,??此時window.$是什么呢,?在引入jq之前,?$是什么,現在就是什么, //?比如undefined?或者是prototype.js中的$ //?同理如果$.noConfilct(true)?那么jq庫也放棄了window.jQuery的使用權 jQuery.noConflict?=?function(?deep?)?{ if?(?window.$?===?jQuery?)?{ window.$?=?_$; } if?(?deep?&&?window.jQuery?===?jQuery?)?{ window.jQuery?=?_jQuery; } return?jQuery; };2015-10-16
我也不是很理解,這段代碼應該是把$ 和jQuery保存到未定義的_$和——jQuery中,然后判斷是否已經解析完function后,如果執行noConfilct就把那個undefined的東東穿給$
2015-08-23
汗。。再看了看又理解了。。腦子沒轉過來 哈哈哈