代码改变世界

(一)划分JQuery的代码结构

2012-02-12 14:21  kwjlk  阅读(307)  评论(0)    收藏  举报

将JQuery1.0的全部代码,以第一层为准收起。代码总行数减少,可以对代码大体结构进行梳理和了解。

此时代码行数为19行,浏览第一遍后可以看到几个令人好奇的地方和一些简单的外层代码。列举如下:

令人好奇的代码:

  • window.undefined = window.undefined 为什么要这么写?
  • new function(){} 这种不是自执行函数( (即function(args){...code ... })(arg) 的形式),那这样写有什么效果啊?

简单的外层代码:

  • 对美元符号$的处理。
  • Ajax插件(代码量不少,但是从模块的角度看,可以显然的知道后面的代码是属于Ajax插件的,可以在看代码的时候排后看。)

最后对这个代码整体结构进行梳理,理出看代码时的先后顺序。列举如下:

  1. window.undefined = window.undefined - why?
  2. JQuery(a,c) 的定义
  3. $ 美元符号的处理
  4. JQuery.fn 的定义
  5. JQuery.extend 的定义
  6. 使用JQuery.extend 扩展JQuery功能
  7. Ajax插件的定义
  8. 非常神奇的new function的使用

对于如上8部分的梳理,前5条和第8条需要逐次解决。6和7属于真正的代码大头。