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的模块依靠网:
jQuery总共13个模块,从2.1版开端jQuery支撑经过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都是十分高超的。
五大块:
jQuery按我的了解分为五大块,选择器、DOM操作、事情、AJAX与动画,那么为什么有13个模块?由于jQuery的规划中最喜爱的做的一件事,便是抽出一起的特性使之“模块化”,当然也是更靠近S.O.L.I.D五大准则的“单一责任SRP”了,恪守单一责任的优点是能够让咱们很容易地来保护这个目标,比方,当一个目标封装了许多责任的时分,一旦一个责任需求修正,势必会影响该目标的其它责任代码。经过解耦能够让每个责任愈加有弹性地改变。
咱们来看看jQuery文档针对事务层的Ajax的处理供给了一系列的门面接口:
.ajaxComplete() .ajaxError() .ajaxSend() .ajaxStart() .ajaxStop() .ajaxSuccess()
底层接口:
jQuery.ajax() jQuery.ajaxSetup()
方便办法:
jQuery.get() jQuery.getJSON() jQuery.getScript() jQuery.post()
事务逻辑是杂乱多变的,jQuery的高层API数量十分多,并且也十分的详尽,这样做能够更友爱的便于开发者的操作,不需求有必要在一个接口上重载太多的动作。咱们在深化内部看看Ajax的高层办法其实都是一致调用了一个静态的jQuery.ajax办法
- jQuery.each( [ "get", "post" ], function( i, method ) {
- jQuery[ method ] = function( url, data, callback, type ) {
- // Shift arguments if data argument was omitted
- if ( jQuery.isFunction( data ) ) {
- type = type || callback;
- callback = data;
- data = undefined;
- }
- return jQuery.ajax({
- url: url,
- type: method,
- dataType: type,
- data: data,
- success: callback
- });
- };
- });
在jQuery.ajax的内部完结是十分杂乱的,首要ajax要考虑异步的处理与回调的一致性,所以就引进了异步行列模块(Deferred)与回调模块(Callbacks), 所以要把这些模块办法在ajax办法内部再次封装成、构建出一个新的jQXHR目标,针对参数的默许处理,数据传输的格式化等等。
转载请注明: 文章转载自:BETWAY官网网 https://www.nucmc.com/show-13-493-1.html