架构分析

本文采用的是jQuery2.0.3进行分析:

聪明之处1.:

jQuery把所有代码都放在了匿名函数之中:

(function( window, undefined ) {

})(window);

//注释:

1.把所有变量或者函数,放进匿名函数当中。这样可以防止冲突。互相不影响。因为js这种语言本身没有封装性可言。必须要想js一样那样做才可以达到不冲突的目的。在匿名函数中定义的变量基本都是局部变量。

2.但是,又不能全部不暴露,那样的话我们无法访问jQuery也不行。因此我们必须对外部提供接口,来方便我们访问jQuery。怎样做呢?它把要提供的接口挂载在window的下边:

window.$ = $,这样我们在外边调用的时候:$();

等价于:window.$();

3.为了达到简写的目的,jQuery提供了一种等价写法。//$() 完全等价于jQuery()。

源码

你可能感兴趣的:(架构分析)