jQuery技术

jQuery技术内幕:深入解析jQuery架构设计与实现原理 PDF扫描版[120MB]

字号+ 作者:H5之家 来源:H5之家 2016-07-23 14:00 我要评论( )

jQuery技术内幕:深入解析jQuery架构设计与实现原理 PDF扫描版[120MB],《jQuery技术内幕:深入解析jQuery架构设计与实现原理》在分析每个模块时均采用由浅入深的

当前位置:主页 > 电子书籍 > javascript电子书 > jQuery技术内幕:深入解析jQuery架构设计与实现原理 PDF扫描版[120MB]

jQuery技术内幕:深入解析jQuery架构设计与实现原理 PDF扫描版[120MB]

jQuery技术内幕:深入解析jQuery架构设

  • 购买链接:京东  当当网
  • 应用平台:PDF
  • 网友评分: 3

    相关书籍 120.01MB

    jQuery技术内幕:深入解析jQuery架构设计与实现原理由阿里巴巴资深前端开发工程师撰写,从源代码角度全面而系统地解读了jQuery的17个模块的架构设计理念和内部实现原理,旨在帮助读者参透jQuery中的实现技巧和技术精髓,同时本书也对广大开发者如何通过阅读源代码来提升编码能力和软件架构能力提供了指导。

    《jQuery技术内幕:深入解析jQuery架构设计与实现原理》首先通过“总体架构”梳理了各个模块的分类、功能和依赖关系,让大家对jQuery的工作原理有大致的印象;进而通过“构造jQuery对象”章节分析了构造函数jQuery()的各种用法和内部构造过程;接着详细分析了底层支持模块的源码实现,包括:选择器Sizzle、异步队列Deferred、数据缓存Data、队列Queue、浏览器功能测试Support;最后详细分析了功能模块的源码实现,包括:属性操作Attributes、事件系统Events、DOM遍历Traversing、DOM操作Manipulation、样式操作CSS、异步请求Ajax、动画Effects。

    《jQuery技术内幕:深入解析jQuery架构设计与实现原理》在分析每个模块时均采用由浅入深的方式,先概述功能、用法、结构和实现原理,然后介绍关键步骤和分析源码实现。让读者不仅知其然,而且知其所以然。事实上,本书的根本价值在于传达一种通过阅读源码快速成长的方式。无论是前端新人,还是经验丰富的老手,只要是对JavaScript感兴趣的开发人员,都会从本书中受益。

    jQuery技术内幕:深入解析jQuery架构设计与实现原理 目录:
    前言
    第一部分 总体架构
    第1章 总体架构 2
    1.1 设计理念 2
    1.2 总体架构 2
    1.3 自调用匿名函数 4
    1.4 总结 6
    第二部分 构造jQuery对象
    第2章 构造jQuery对象 8
    2.1 构造函数jQuery() 8
    2.1.1 jQuery( selector [, context] ) 9
    2.1.2 jQuery( html [, ownerDocument] )、jQuery( html, props ) 9
    2.1.3 jQuery( element )、jQuery( elementArray ) 10
    2.1.4 jQuery( object ) 10
    2.1.5 jQuery( callback ) 11
    2.1.6 jQuery( jQuery object ) 11
    2.1.7 jQuery() 11
    2.2 总体结构 11
    2.3 jQuery.fn.init( selector, context, rootjQuery ) 13
    2.3.1 12个分支 13
    2.3.2 源码分析 14
    2.3.3 小结 21
    2.4 jQuery.buildFragment( args, nodes, scripts ) 22
    2.4.1 实现原理 22
    2.4.2 源码分析 22
    2.4.3 小结 26
    2.5 jQuery.clean( elems, context, fragment, scripts ) 27
    2.5.1 实现原理 27
    2.5.2 源码分析 27
    2.5.3 小结 39
    2.6 jQuery.extend()、jQuery.fn.extend() 40
    2.6.1 如何使用 40
    2.6.2 源码分析 40
    2.7 原型属性和方法 43
    2.7.1 .selector、.jquery、.length、.size() 44
    2.7.2 .toArray()、.get( [index] ) 45
    2.7.3 .each( function(index, Element) )、jQuery.each( collection, callback (indexInArray, valueOfElement) ) 46
    2.7.4 .map( callback(index, domElement) )、jQuery.map( arrayOrObject, callback(value, indexOrKey) ) 47
    2.7.5 .pushStack( elements, name, arguments ) 49
    2.7.6 .end() 51
    2.7.7 .eq( index )、.first()、.last()、.slice( start [, end] ) 51
    2.7.8 .push( value, ... )、.sort( [orderfunc] )、.splice( start,deleteCount, value, ... ) 52
    2.7.9 小结 53
    2.8 静态属性和方法 54
    2.8.1 jQuery.noConflict( [removeAll] ) 55
    2.8.2 类型检测:jQuery.isFunction( obj )、jQuery.isArray( obj )、jQuery.isWindow( obj )、jQuery.isNumeric( value )、jQuery.type( obj )、jQuery.isPlainObject( object )、jQuery.isEmptyObject( object ) 56
    2.8.3 解析JSON和XML:jQuery.parseJSON( data )、jQuery.parseXML( data ) 60
    2.8.4 jQuery.globalEval( code ) 65
    2.8.5 jQuery.camelCase( string ) 65
    2.8.6 jQuery.nodeName( elem, name ) 66
    2.8.7 jQuery.trim( str ) 67
    2.8.8 数组操作方法:jQuery.makeArray( obj )、jQuery.inArray( value, array [, fromIndex] )、jQuery.merge( first, second )、jQuery.grep( array, function(elementOfArray, indexInArray) [, invert] ) 68
    2.8.9 jQuery.guid、jQuery.proxy( function, context ) 72
    2.8.10 jQuery.access( elems, key, value, exec, fn( elem, key, value ), pass ) 74
    2.8.11 jQuery.error( message )、jQuery.noop()、jQuery.now() 75
    2.8.12 浏览器嗅探:jQuery.uaMatch( ua )、jQuery.browser 76
    2.8.13 小结 77
    2.9 总结 77
    第三部分 底层支持模块
    第3章 选择器Sizzle 80
    3.1 总体结构 81
    3.2 选择器表达式 83
    3.3 设计思路 84
    3.4 Sizzle( selector, context, results, seed ) 86
    3.5 正则chunker 94
    3.6 Sizzle.find( expr, context, isXML ) 94
    3.7 Sizzle.filter( expr, set, inplace, not ) 99
    3.8 Sizzle.selectors.relative 103
    3.8.1 "+" 105
    3.8.2 "]" 106
    3.8.3 "" 108
    3.8.4 "~" 108
    3.8.5 dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) 109
    3.8.6 dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) 111
    3.9 Sizzle.selectors 112
    3.9.1 Sizzle.selectors.order 112
    3.9.2 Sizzle.selectors.match/leftMatch 113
    3.9.3 Sizzle.selectors.find 122
    3.9.4 Sizzle.selectors.preFilter 123
    3.9.5 Sizzle.selectors.filters 129
    3.9.6 Sizzle.selectors.setFilters 132
    3.9.7 Sizzle.selectors.filter 133
    3.10 工具方法 140
    3.10.1 Sizzle.uniqueSort( results ) 140
    3.10.2 sortOrder( a, b ) 141
    3.10.3 Sizzle.contains( a, b ) 144
    3.10.4 Sizzle.error( msg ) 145
    3.10.5 Sizzle.getText( elem ) 145
    3.11 便捷方法 146
    3.11.1 Sizzle.matches( expr, set ) 146
    3.11.2 Sizzle.matchesSelector( node, expr ) 146
    3.12 jQuery扩展 147
    3.12.1 暴露Sizzle给jQuery 147
    3.12.2 .find( selector ) 148
    3.12.3 .has( target ) 149
    3.12.4 .not( selector )、.filter( selector ) 150
    3.12.5 .is( selector ) 152
    3.12.6 .closest( selectors, context ) 153
    3.12.7 .index( elem ) 154
    3.12.8 .add( selector, context ) 155
    3.12.9 jQuery.filter( expr, elems, not ) 156
    3.12.10 :animated 157
    3.12.11 hidden、:visible 157
    3.13 总结 158
    第4章 异步队列Deferred Object 160
    4.1 jQuery.Callbacks( flags ) 161
    4.1.1 实现原理和总体结构 162
    4.1.2 源码分析 163
    4.1.3 小结 174
    4.2 jQuery.Deferred( func ) 174
    4.2.1 实现原理和总体结构 176
    4.2.2 源码分析 177
    4.2.3 小结 183
    4.3 jQuery.when( deferreds ) 184
    4.3.1 实现原理 185
    4.3.2 源码分析 185
    4.4 异步队列在jQuery中的应用 187
    4.5 总结 188
    第5章 数据缓存Data 189
    5.1 实现原理 189
    5.1.1 为DOM元素附加数据 189
    5.1.2 为JavaScript对象附加数据 191
    5.2 总体结构 192
    5.3 jQuery.acceptData( elem ) 193
    5.4 jQuery.data( elem, name, data, pvt )、jQuery._data( elem, name, data, pvt ) 194
    5.4.1 如何使用 194
    5.4.2 源码分析 194
    5.4.3 jQuery._data( elem, name, data ) 199
    5.4.4 小结 201
    5.5 .data( key,value ) 201
    5.5.1 如何使用 201
    5.5.2 源码分析 202
    5.5.3 小结 206
    5.6 jQuery.removeData( elem,name,pvt )、.removeData( key ) 207
    5.6.1 如何使用 207
    5.6.2 源码分析 207
    5.6.3 小结 212
    5.7 .removeData( key ) 213
    5.8 jQuery.cleanData( elems ) 213
    5.8.1 应用场景 213
    5.8.2 源码分析 214
    5.8.3 小结 217
    5.9 jQuery.hasData( elem ) 217
    5.10 总结 218
    第6章 队列Queue 219
    6.1 如何使用 219
    6.1.1 Ajax队列 220
    6.1.2 动画队列+ Ajax队列 220
    6.1.3 基于JavaScript对象 221
    6.2 实现原理 221
    6.3 总体结构 222
    6.4 jQuery.queue( elem,type,data ) 223
    6.5 jQuery.dequeue( elem,type ) 224
    6.6 .queue( type,data ) 227
    6.7 .dequeue( type ) 228
    6.8 .delay( time,type ) 229
    6.9 .clearQueue( type ) 230
    6.10 jQuery._mark( elem,type )、jQuery._unmark( force,elem,type ) 230
    6.11 .promise( type,object ) 232
    6.11.1 如何使用 232
    6.11.2 实现原理 233
    6.11.3 源码分析 233
    6.11.4 handleQueueMarkDefer( elem,type,src ) 235
    6.12 总结 237
    第7章 浏览器功能测试Support 238
    7.1 总体结构 238
    7.2 DOM测试(15项) 241
    7.2.1 leadingWhitespace 241
    7.2.2 tbody 242
    7.2.3 htmlSerialize 243
    7.2.4 hrefNormalized 245
    7.2.5 checkOn 246
    7.2.6 noCloneChecked 248
    7.2.7 optSelected 250
    7.2.8 optDisabled 251
    7.2.9 getSetAttribute 253
    7.2.10 deleteExpando 256
    7.2.11 enctype 258
    7.2.12 html5Clone 259
    7.2.13 radioValue 261
    7.2.14 checkClone 263
    7.2.15 appendChecked 264
    7.3 样式测试(3项) 266
    7.3.1 style 266
    7.3.2 opacity 268
    7.3.3 cssFloat 272
    7.4 盒模型测试(10项) 273
    7.4.1 reliableMarginRight 273
    7.4.2 reliableHiddenOffsets 276
    7.4.3 boxModel 278
    7.4.4 inlineBlockNeedsLayout 280
    7.4.5 shrinkWrapBlocks 282
    7.4.6 doesNotAddBorder、doesAddBorderForTableAndCells 285
    7.4.7 fixedPosition 287
    7.4.8 subtractsBorderForOverflowNotVisible 290
    7.4.9 doesNotIncludeMarginInBodyOffset 292
    7.5 事件测试(4项) 294
    7.5.1 noCloneEvent 294
    7.5.2 submitBubbles、changeBubbles、focusinBubbles 296
    7.6 Ajax测试(2项) 298
    7.6.1 ajax 298
    7.6.2 cors 300
    7.7 总结 301
    第四部分 功能模块
    第8章 属性操作Attributes 306
    8.1 总体结构 307
    8.2 jQuery.attr( elem, name, value, pass ) 308
    8.2.1 源码分析 308
    8.2.2 boolHook 311
    8.2.3 nodeHook 313
    8.2.4 jQuery.attrHooks 314
    8.2.5 小结 319
    8.3 .attr( name, value ) 319
    8.4 jQuery.removeAttr( elem, value ) 321
    8.4.1 源码分析 321
    8.4.2 小结 322
    8.5 .removeAttr( name ) 323
    8.6 jQuery.prop( elem, name, value ) 323
    8.6.1 源码分析 323
    8.6.2 jQuery.propHooks 325
    8.6.3 小结 326
    8.7 .prop( name, value ) 327
    8.8 .removeProp( name ) 327
    8.9 .addClass( className ) 328
    8.9.1 源码分析 328
    8.9.2 小结 330
    8.10 .removeClass( [className] ) 330
    8.10.1 源码分析 331
    8.10.2 小结 333
    8.11 .toggleClass( [className][, switch] ) 333
    8.11.1 源码分析 334
    8.11.2 小结 336
    8.12 .hasClass( selector ) 336
    8.12.1 源码分析 336
    8.12.2 小结 337
    8.13 .val( [value] ) 338
    8.13.1 源码分析 338
    8.13.2 jQuery.valHooks 340
    8.13.3 小结 343
    8.14 总结 344
    第9章 事件系统Events 346
    9.1 总体结构 346
    9.2 实现原理 350
    9.3 jQuery 事件对象 353
    9.3.1 构造函数jQuery.Event( src, props ) 355
    9.3.2 原型对象jQuery.Event.prototype 357
    9.3.3 事件属性修正方法jQuery.event.fix( event ) 360
    9.4 绑定事件 367
    9.4.1 .on( events [, selector] [, data] , handler( eventObject ) ) 367
    9.4.2 jQuery.event.add( elem, types, handler, data, selector ) 370
    9.5 移除事件 379
    9.5.1 .off( events [, selector] [, handler( eventObject ) ] ) 379
    9.5.2 jQuery.event.remove( elem, types, handler, selector, mappedTypes ) 382
    9.6 事件响应 388
    9.6.1 主监听函数 388
    9.6.2 jQuery.event.dispatch( event ) 390
    9.7 手动触发事件 396
    9.7.1 .trigger( eventType [, extraParameters] )、.triggerHandler( eventType [, extraParameters] ) 396
    9.7.2 jQuery.event.trigger( event, data, elem, onlyHandlers ) 397
    9.8 事件修正和模拟jQuery.event.special 406
    9.8.1 ready 408
    9.8.2 load 408
    9.8.3 focus、blur 409
    9.8.4 beforeunload 409
    9.8.5 mouseenter、mouseleave 410
    9.8.6 submit 412
    9.8.7 change 413
    9.8.8 focusin、focusout 416
    9.8.9 jQuery.event.simulate( type, elem, event, bubble ) 417
    9.9 事件便捷方法 418
    9.10 组合方法 419
    9.10.1 .toggle( handler( eventObject ), handler( eventObject ) [, handler( eventObject )] ) 419
    9.10.2 .hover( handlerIn( eventObject ) [, handlerOut( eventObject )] ) 421
    9.11 ready 事件 421
    9.11.1 总体结构 421
    9.11.2 .ready( handler ) 424
    9.11.3 jQuery.bindReady() 424
    9.11.4 jQuery.holdReady( hold ) 427
    9.11.5 jQuery.ready( wait ) 428
    9.12 总结 430
    第10章 DOM遍历Traversing 433
    10.1 总体结构 434
    10.2 遍历函数 435
    10.3 工具函数 437
    10.3.1 jQuery.dir( elem, dir, until ) 437
    10.3.2 jQuery.nth( cur, result, dir, elem ) 439
    10.3.3 jQuery.sibling( n, elem ) 440
    10.4 模板函数 441
    10.5 总结 443
    第11章 DOM操作Manipulation 444
    11.1 总体结构 444
    11.2 插入元素 445
    11.2.1 核心方法.domManip( args, table, callback ) 445
    11.2.2 .append( content [, content] ) 451
    11.2.3 .prepend( content [, content] ) 452
    11.2.4 .before( content [, content] ) 452
    11.2.5 .after( content [, content] ) 452
    11.2.6 .appendTo( target )、.prependTo( target )、.insertBefore( target )、.insertAfter( target ) 453
    11.2.7 .html( [value] ) 454
    11.2.8 .text( [text] ) 458
    11.3 删除元素 459
    11.3.1 .remove( selector, keepData ) 459
    11.3.2 .empty() 460
    11.3.3 .detach( selector ) 460
    11.4 复制元素 461
    11.4.1 .clone( dataAndEvents, deepDataAndEvents ) 461
    11.4.2 jQuery.clone( elem, dataAndEvents, deepDataAndEvents ) 461
    11.4.3 cloneFixAttributes( src, dest ) 465
    11.5 替换元素 467
    11.5.1 .replaceWith( value ) 467
    11.5.2 .replaceAll( target ) 469
    11.6 包裹元素 469
    11.6.1 .wrapAll( html ) 469
    11.6.2 .wrapInner( html ) 470
    11.6.3 .wrap( html ) 471
    11.6.4 .unwrap() 471
    11.7 总结 472
    第12章 样式操作CSS 474
    12.1 内联样式、计算样式 475
    12.1.1 总体结构 475
    12.1.2 .css( name, value ) 476
    12.1.3 jQuery.style( elem, name, value, extra ) 477
    12.1.4 jQuery.css( elem, name, extra ) 481
    12.1.5 curCSS( elem, name )、getComputedStyle( elem, name )、currentStyle( elem, name ) 483
    12.1.6 jQuery.cssHooks 486
    12.2 坐标Offset 492
    12.2.1 总体结构 492
    12.2.2 .offset( options ) 493
    12.2.3 jQuery.offset.setOffset( elem, options, i ) 498
    12.2.4 jQuery.offset.bodyOffset( body ) 500
    12.2.5 .position() 501
    12.2.6 .offsetParent() 502
    12.2.7 .scrollLeft( val )、.scrollTop( val ) 503
    12.3 尺寸Dimensions 504
    12.3.1 总体结构 504
    12.3.2 getWH( elem, name, extra ) 505
    12.3.3 .innerHeight()、.innerWidth() 508
    12.3.4 .outerHeight( margin )、.outerWidth( margin ) 509
    12.3.5 .height( size )、.width( size ) 509
    12.3.6 小结 513
    12.4 总结 513
    第13章 异步请求Ajax 516
    13.1 总体结构 517
    13.2 jQuery.ajax( url, options ) 519
    13.3 前置过滤器、请求发送器的初始化和执行 540
    13.3.1 初始化 540
    13.3.2 执行 543
    13.4 前置过滤器 545
    13.4.1 json、jsonp 545
    13.4.2 script 548
    13.4.3 小结 549
    13.5 请求发送器 549
    13.5.1 script 549
    13.5.2 XMLHttpRequest 552
    13.5.3 小结 560
    13.6 数据转换器 561
    13.6.1 初始化 561
    13.6.2 执行 562
    13.6.3 小结 566
    13.7 Ajax事件 567
    13.8 便捷方法 568
    13.8.1 jQuery.get( url, data, callback, type )、jQuery.post( url, data, callback, type ) 569
    13.8.2 jQuery.getJSON( url, data, callback )、jQuery.getScript( url, callback ) 569
    13.8.3 .load( url, params, callback ) 570
    13.9 工具方法 573
    13.9.1 .serialize() 573
    13.9.2 jQuery.param( a, traditional ) 574
    13.9.3 .serializeArray() 577
    13.10 总结 579
    第14章 动画Effects 582
    14.1 总体结构 583
    14.2 动画入口 586
    14.2.1 .animate( prop, speed, easing, callback ) 586
    14.2.2 jQuery.speed( speed, easing, fn ) 588
    14.2.3 doAnimation() 590
    14.2.4 jQuery.fx( elem, options, prop ) 595
    14.2.5 jQuery.fx.prototype.show() 595
    14.2.6 jQuery.fx.prototype.hide() 596
    14.2.7 小结 596
    14.3 动画执行 597
    14.3.1 jQuery.fx.prototype.custom( from, to, unit ) 598
    14.3.2 jQuery.fx.tick() 599
    14.3.3 jQuery.fx.prototype.step( gotoEnd ) 600
    14.3.4 jQuery.easing 604
    14.3.5 jQuery.fx.prototype.update() 604
    14.3.6 jQuery.fx.step 605
    14.4 停止动画.stop( type, clearQueue, gotoEnd ) 606
    14.5 便捷方法 609
    14.5.1 生成动画样式集genFx( type, num ) 609
    14.5.2 显示隐藏.show/hide/toggle() 610
    14.5.3 渐显渐隐.fadeIn/fadeOut/fadeTo/fadeToggle() 613
    14.5.4 滑入滑出.slideDown/slidUp/slideToggle() 614
    14.6 总结 615

    截图:

    标签:jquery   架构设计  

    人气书籍

    下载地址

  • jQuery技术内幕:深入解析jQuery架构设计与实现原理 PDF扫描版[120MB]
  • 相关书籍

    网友评论

    下载声明

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    •  jquery施用技巧

      jquery施用技巧

      2016-07-23 15:08

    • jquery方法之remove()方法详解

      jquery方法之remove()方法详解

      2016-07-22 11:05

    • jQuery针对各类元素操作基础教程_jquery

      jQuery针对各类元素操作基础教程_jquery

      2016-07-18 16:00

    • jQuery动画特效实例教程_jquery

      jQuery动画特效实例教程_jquery

      2016-07-18 15:00

    网友点评