本文采用的是jQuery2.0.3进行分析:
聪明之处1.:
jQuery把所有代码都放在了匿名函数之中:
(function( window, undefined ) {
})(window);
//注释:
1.把所有变量或者函数,放进匿名函数当中。这样可以防止冲突。互相不影响。因为js这种语言本身没有封装性可言。必须要想js一样那样做才可以达到不冲突的目的。在匿名函数中定义的变量基本都是局部变量。
2.但是,又不能全部不暴露,那样的话我们无法访问jQuery也不行。因此我们必须对外部提供接口,来方便我们访问jQuery。怎样做呢?它把要提供的接口挂载在window的下边:
window.$ = $,这样我们在外边调用的时候:$();
等价于:window.$();
3.为了达到简写的目的,jQuery提供了一种等价写法。//$() 完全等价于jQuery()。