jquery版本v2.1.0
jquery是一个非常优秀的javascript库。对于一般的web应用来说,很多情况用jquery是十分明智的选择。为了更好的使用jquery,也为了增强自己的javascript功底,研究学习jquery源码是十分不错的。jquery源码不是庞然大物,研究它不必耗费太多精力,同时它的内容也不单调,有非常多的内容可以值得学习。
jquery源码的组织方式
我们平常使用jquery时,都是一个如jquery-2.1.0.js的文件,实际上jquery源码的组织方式是分模块的。源码地址 https://github.com/jquery/jquery。
可以看到它有很多模块,包括core、attributes、css、data、ajax、deferred、effects、event、queue、sizzle、traversing、var模块。
这不正是我们用到的api文档里面分的各个模块么?在线api地址 http://hemin.cn/jq/
分析jquery源码,可以直接分析jquery的发布版本的代码,也可以分析jquery模块化的源码。
前者可以总览全局,当然文件会很大。后者需要关注模块间的依赖关系,特别是有很多小模块,容易分散注意力,而且它用到一些构建工具,使得所见并非所得,需要更多额外的知识。
个人觉得模块化其实是增加系统总体复杂度,降低系统局部复杂度的一种做法。需不需要模块化,视代码体积大小而定。
jquery源码分析,我选择直接分析jquery发布版本代码的方式。
分析结果 https://github.com/zhoujiaping/jquery-2.1.0-analysis
个人觉得,这里对jquery的理解非常深刻。非常值的学习,所以将心得分享出来。