1. 最新JQuery2.1.1版本的结构:
;(function(global, factory) {
factory(global);
}(typeof window !== "undefined" ? window : this, function(window, noGlobal) {
var jQuery = function(selector, context) {
return new jQuery.fn.init(selector, context);
};
jQuery.fn = jQuery.prototype = {};
// 核心方法
// 回调系统
// 异步队列
// 数据缓存
// 队列操作
// 选择操作
// 属性操作
// 节点遍历
// 文档处理
// 样式操作
// 属性操作
// 事件体系
// AJAX交互
// 动画引擎
return jQuery;
}));
2. jQuery的模块依赖网
3. jQuery的发展历程
jQuery从2.1版本开始支持通过AMD模块划分,jQuery在最开始发布的1.0版本是很简单的,只有CSS选择符、事件处理和AJAX交互3大模块。其发展过程中有几次重要的变革:
- 1.2.3版本发布,引入数据缓存,解决循环引用与大数据保存问题;
- 1.3版本发布,使用了全新的选择符引擎Sizzle,在各个浏览器下全面超载其他同类型JavaScript框架的查询速度,程序库的性能也因此有了极大提升;
- 1.5版本发布,新增延缓对象(Deferred Objects),并用deferred重写了AJAX模块;
- 1.7版本发布,抽象出回调对象,提供了强大的方式来管理回调函数列表
每一次大的改进都引入了一些新的机制、新的特性,通过这些新的机制就造就了如今jQuery库,一共13个模块,模块不是单一的,比如 jQuery动画,都会依赖异步队列、动画队列、回调队列与数据缓存模块等。
jQuery抽出了所有可复用的特性,分离出单一模块,通过组合的用法,不管在设计思路与实现手法上jQuery都是非常高明的。
4. jQuery主要分为五大块
选择器
DOM操作
事件
AJAX
动画