今天在网上有人问了一下jQuery控制权的问题.也就是$和jQuery变量的覆盖问题.因为在实际的开发中.我们也许不仅仅是导入jQuery库,也有可能混合着使用mootools或者是prototype库,这样的话$就会冲突了.这时候就可能使用jQuery的noConflit函数把控制权限交换出去了.这个方法很简单.我们就单刀直入到内核中去.看这个方法的实现方式.为了说明问题.我画了示意图
![code](http://www.frontdig.com/wp-content/uploads/2011/10/code.jpg)
![front](http://www.frontdig.com/wp-content/uploads/2011/10/front.jpg)
![after](http://www.frontdig.com/wp-content/uploads/2011/10/after.jpg)
有图有真相哈.用图例是不是比较容易理解呢?我们去看看jQuery内部的实现方法:
1
2
3
4
5
6
7
8
9
| noConflict: function( deep ) {
window.$ = _$;
if ( deep ) {
window.jQuery = _jQuery;
}
return jQuery;
} |
对照着上面图片.是不是对noConflict()有更深刻的认识了呢?