Var _jQuery = window.jQuery,_$ = window.$; //这两个变量其实是私有变量,查看源码可发现,是定义jQuery对象函数里的一个局部变量jQuery.noConflict = function( deep ) { if ( window.$ === jQuery ) { window.$ = _$; //用私有变量覆盖window.$,导致jQuery的别名$失效了 } if ( deep && window.jQuery === jQuery ) { window.jQuery = _jQuery; } return jQuery;};
$.noConflict最后是返回jQuery对象,也就是我们把$转交出去之后,还可以自己定义一个新的字符来替代$来使用jQuery对象,代码如下
var jq = $.noConflict();jq("#mydiv").html("可以使用自己定义的符号应对冲突");
参考