将JQuery1.0的全部代码,以第一层为准收起。代码总行数减少,可以对代码大体结构进行梳理和了解。
此时代码行数为19行,浏览第一遍后可以看到几个令人好奇的地方和一些简单的外层代码。列举如下:
令人好奇的代码:
- window.undefined = window.undefined 为什么要这么写?
- new function(){} 这种不是自执行函数( (即function(args){...code ... })(arg) 的形式),那这样写有什么效果啊?
简单的外层代码:
- 对美元符号$的处理。
- Ajax插件(代码量不少,但是从模块的角度看,可以显然的知道后面的代码是属于Ajax插件的,可以在看代码的时候排后看。)
最后对这个代码整体结构进行梳理,理出看代码时的先后顺序。列举如下:
- window.undefined = window.undefined - why?
- JQuery(a,c) 的定义
- $ 美元符号的处理
- JQuery.fn 的定义
- JQuery.extend 的定义
- 使用JQuery.extend 扩展JQuery功能
- Ajax插件的定义
- 非常神奇的new function的使用
对于如上8部分的梳理,前5条和第8条需要逐次解决。6和7属于真正的代码大头。