设计模式,优化 HTML 文档操作、事件处理、动画设计和 Ajax 交互。 jQuery 的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的 css 选择器,并且可对 CSS 选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。 jQuery 兼容各种主流浏览器,如 IE 6.0+ 、 FF 1.5+ 、 Safari 2.0+ 、 Opera 9.0+ 等。 jQuery 的模块可以分为 3部分:入口模块、底层支持模块和功能模块。在构造 jQuery 对象模块中,如果在调用构造函数 jQuery() 创建 jQuery 对象时传入了选择器表达式,则会调用选择器 Sizzle (一款纯 JavaScript 实现的 CSS 选择器引擎,用于查找与选择器表达式匹配的元素集合)遍历文档,查找与之匹配的 DOM 元素,并创建一个包含了这些 DOM 元素引用的 jQuery 对象。浏览器功能测试模块提供了针对不同浏览器功能和 bug 的测试结果,其他模块则基于这些测试结果来解决浏览器之间的兼容性问题。在底层支持模块中,回调函数列表模块用于增强对回调函数的管理,支持添加、移除、触发、锁定、禁用回调函数等功能;异步队列模块用于解耦异步任务和回调函数,它在回调函数列表的基础上为回调函数增加了状态,并提供了多个回调函数列表,支持传播任意同步或异步回调函数的成功或失败状态;数据缓存模块用于为 DOM 元素和 Javascript 对象附加任意类型的数据;队列模块用于管理一组函数,支持函数的人队和出队操作,并确保函数按顺序执行,它基于数据缓存模块实现。在功能模块中,事件系统提供了统一的事件绑定、响应、手动触发和移除机制,它并没有将事件直接绑定到 DOM 元素上,而是基于数据缓存模块来管理事件; Ajax 模块允许从服务器上加载数据,而不用刷新页面,它基于异步队列模块