闲暇之余,研究一下jquery2.0.3源码,源码详见https://gitee.com/bishuilantian120/j-query2.0.3,下面对jQuery源码作一下简单剖析:
1. jQuery开始之时便使用了一个立即执行函数(function( window, undefined ) {})( window );此种方法使用有如下好处:将代码中的变量变成局部变量,不会对全局变量造成污染
2.但此种用法导致外部无法调用内部变量,jQuery采用了如下方法解决
window.jQuery=window.$=jQuery;将jQuery变量挂载在window上,这样外部就可以访问jQuery内部变量和方法
3.接下来就是在jQuery内部定义需用的变量和方法,代码如下:jQuery.fn=jQuery.prototype={}
4.然后是使用extend来定义一些扩展方法,jQuery.extend=jQuery.fn.extend=function(){}
5 然后是通过sizzle来实现复杂选择器的功能
6 接着通过回调对象统一管理函数,示例源码如下:jQuery.Callbacks=function(options){}
7 然后通过延迟对象Deferred对异步进行统一管理,示例源码如下:jQuery.extend{Deferred:function(func){}}
8