jQuery解決衝突noConflict方法源碼解析

var _jQuery = window.jQuery,
	 _$ = window.$; // jQuery 初始化的時候,把可能存在的window.$和window.jQuery備份到局部變量_$和_jQuery。

jQuery.extend({
          noConflict: function (deep) { // 防止衝突
            if (window.$ === jQuery) { 
              window.$ = _$; // 如果 window.$ === jQuery,則設置Window.$爲初始化備份的_$
            }

            if (deep && window.jQuery === jQuery) {
              window.jQuery = _jQuery;
            }
            return jQuery;
            /*
              用法 比如:
              var miaov = $.noConflict();
              var $ = 123;
              miaov(function() {
                console.log($);
              });
            */
          }
})

window.jQuery = window.$ = jQuery;


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章