最新公告
  • 欢迎您光临渊博吧,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • jQuery技术内幕:深入解析jQuery架构设计与实现原理

    jQuery技术内幕:深入解析jQuery架构设计与实现原理 最后编辑:2021-06-22
    增值服务: 自动发货 使用说明 安装指导 免费教学代客下载BUG修复

    资源名称:jQuery技术内幕:深入解析jQuery架构设计与实现原理

    内容简介:

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

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

    作者简介:

    高云,阿里巴巴资深前端开发工程师(花名墨智),拥有丰富的前端开发经验,擅长 HTML5、CSS、Javascript 等 Web 开发技术和 Java 技术,对Javascript相关技术的应用和实现原理有深入研究和独到见解,曾担任项目经理、前端架构师等职。个人博客 http://nuysoft.com,开源作品有 http://mockjs.com。

    资源目录:

    第1章 总体架构 1

    1.1 设计理念 1

    1.2 总体架构 1

    1.3 自调用匿名函数 4

    1.4 总结 6

    第2章 构造 jQuery 对象 6

    2.1 构造函数 jQuery() 7

    2.1.1 jQuery( selector [, context] ) 7

    2.1.2 jQuery( html [, ownerDocument] )、jQuery( html, props ) 8

    2.1.3 jQuery( element )、jQuery( elementArray ) 9

    2.1.4 jQuery( object ) 9

    2.1.5 jQuery( callback ) 10

    2.1.6 jQuery( jQuery object ) 10

    2.1.7 jQuery() 10

    2.2 总体结构 10

    2.3 jQuery.fn.init( selector, context, rootjQuery ) 13

    2.3.1 12个分支 13

    2.3.2 源码分析 14

    2.3.3 小结 24

    2.4 jQuery.buildFragment( args, nodes, scripts ) 24

    2.4.1 实现原理 24

    2.4.2 源码分析 25

    2.4.3 小结 30

    2.5 jQuery.clean( elems, context, fragment, scripts ) 31

    2.5.1 实现原理 31

    2.5.2 源码分析 32

    2.5.3 小结 48

    2.6 jQuery.extend()、jQuery.fn.extend() 48

    2.6.1 如何使用 48

    2.6.2 源码分析 49

    2.7 原型属性和方法 53

    2.7.1 .selector、.jquery、.length、.size() 54

    2.7.2 .toArray()、.get( [index] ) 55

    2.7.3 .each( function(index, Element) )、jQuery.each( collection, callback(indexInArray, valueOfElement) ) 56

    2.7.4 .map( callback(index, domElement) )、jQuery.map( arrayOrObject, callback( value, indexOrKey ) ) 59

    2.7.5 .pushStack( elements, name, arguments ) 62

    2.7.6 .end() 64

    2.7.7 .eq( index )、.first()、.last()、.slice( start [, end] ) 64

    2.7.8 .push( valur, … )、.sort( [orderfunc] )、.splice( start,deleteCount, value, … ) 65

    2.7.9 小结 66

    2.8 静态属性和方法 67

    2.8.1 jQuery.noConflict( [removeAll] ) 69

    2.8.2 类型检测:jQuery.isFunction( obj )、jQuery.isArray( obj )、jQuery.isWindow( obj )、jQuery.isNumeric( value )、jQuery.type( obj )、jQuery.isPlainObject( object )、jQuery.isEmptyObject( object ) 70

    2.8.3 解析 JSON 和 XML:jQuery.parseJSON( data)、jQuery.parseXML( data ) 75

    2.8.4 jQuery.globalEval( code ) 81

    2.8.5 jQuery.camelCase ( string ) 82

    2.8.6 jQuery.nodeName ( elem, name ) 83

    2.8.7 jQuery.trim( str ) 84

    2.8.8 数组操作方法:jQuery.makeArray( obj )、jQuery.inArray( value, array [, fromIndex] )、jQuery.merge( first, second )、jQuery.grep( array, function(elementOfArray, indexInArray) [, invert] ) 85

    2.8.9 jQuery.guid、jQuery.proxy( function, context ) 91

    2.8.10 jQuery.access( elems, key, value, exec, fn( elem, key, value ), pass ) 94

    2.8.11 jQuery.error( message )、jQuery.noop()、jQuery.now() 96

    2.8.12 浏览器嗅探:jQuery.uaMatch( ua )、jQuery.browser 96

    2.8.13 小结 98

    2.9 总结 100

    第3章 选择器 Sizzle 100

    3.1 总体结构 101

    3.2 选择器表达式 104

    3.3 设计思路 105

    3.4 Sizzle( selector, context, results, seed ) 107

    3.5 正则 chunker 119

    3.6 Sizzle.find( expr, context, isXML ) 121

    3.7 Sizzle.filter( expr, set, inplace, not ) 124

    3.8 Sizzle.selectors.relative 129

    3.8.1 “+” 130

    3.8.2 “>” 132

    3.8.3 “” 133

    3.8.4 “~” 134

    3.8.5 dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) 135

    3.8.6 dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) 136

    3.9 Sizzle.selectors 138

    3.9.1 Sizzle.selectors.order 138

    3.9.2 Sizzle.selectors.match/leftMatch 139

    3.9.3 Sizzle.selectors.find 151

    3.9.4 Sizzle.selectors.preFilter 154

    3.9.5 Sizzle.selectors.filters 162

    3.9.6 Sizzle.selectors.setFilters 165

    3.9.7 Sizzle.selectors.filter 166

    3.10 工具方法 176

    3.10.1 Sizzle.uniqueSort( results ) 176

    3.10.2 sortOrder(a, b) 177

    3.10.3 Sizzle.contains( a, b ) 182

    3.10.4 Sizzle.error( msg ) 182

    3.10.5 Sizzle.getText( elem ) 183

    3.11 便捷方法 184

    3.11.1 Sizzle.matches( expr, set ) 184

    3.11.2 Sizzle.matchesSelector( node, expr ) 184

    3.12 jQuery 扩展 186

    3.12.1 暴露 Sizzle 给 jQuery 186

    3.12.2 .find( selector ) 186

    3.12.3 .has( target ) 188

    3.12.4 .not( selector )、.filter( selecotr ) 189

    3.12.5 .is( selector ) 191

    3.12.6 .closest( selectors, context ) 193

    3.12.7 .index( elem ) 195

    3.12.8 .add( selector, context ) 196

    3.12.9 jQuery.filter( expr, elems, not ) 197

    3.12.10 :animated 198

    3.12.11 :hidden、:visible 199

    3.13 总结 200

    第4章 异步队列 Deferred Object 201

    4.1 jQuery.Callbacks( flags ) 202

    4.1.1 实现原理和总体结构 204

    4.1.2 源码分析 205

    4.1.3 小结 219

    4.2 jQuery.Deferred( func ) 220

    4.2.1 实现原理和总体结构 223

    4.2.2 源码分析 224

    4.2.3 小结 232

    4.3 jQuery.when( deferreds ) 232

    4.3.1 实现原理 234

    4.3.2 源码分析 234

    4.4 异步队列在 jQuery 中的应用 237

    4.5 总结 238

    第5章 数据缓存 Data 238

    5.1 实现原理 239

    5.1.1 为 DOM 元素附加数据 239

    5.1.2 为 Javascript 对象附加数据 241

    5.2 总体结构 242

    5.3 jQuery.acceptData( elem ) 244

    5.4 jQuery.data( elem, name, data, pvt )、jQuery._data( elem, name, data, pvt ) 245

    5.4.1 如何使用 245

    5.4.2 源码分析 246

    5.4.3 jQuery._data( elem, name, data ) 253

    5.4.4 小结 254

    5.5 .data( key, value ) 256

    5.5.1 如何使用 256

    5.5.2 源码分析 256

    5.5.3 小结 261

    5.6 jQuery.removeData( elem, name, pvt )、.removeData( key ) 262

    5.6.1 如何使用 262

    5.6.2 源码分析 263

    5.6.4 小结 269

    5.7 .removeData( key ) 270

    5.8 jQuery.cleanData( elems ) 271

    5.8.1 应用场景 271

    5.8.2 源码分析 273

    5.8.3 小结 276

    5.9 jQuery.hasData( elem ) 277

    5.10 总结 278

    第6章 队列 Queue 279

    6.1 如何使用 280

    AJAX 队列 280

    动画队列 + AJAX 队列 281

    基于 Javascript 对象 281

    6.2 实现原理 282

    6.3 总体结构 282

    6.4 jQuery.queue( elem, type, data ) 284

    6.5 jQuery.dequeue( elem, type ) 286

    6.6 .queue( type, data ) 288

    6.7 .dequeue( type ) 290

    6.8 .delay( time, type ) 291

    6.9 .clearQueue( type ) 292

    6.10 jQuery._mark( elem, type )、jQuery._unmark( force, elem, type ) 293

    6.11 .promise( type, object ) 295

    6.11.1 如何使用 295

    6.11.2 实现原理 296

    6.11.3 源码分析 297

    6.11.4 handleQueueMarkDefer( elem, type, src ) 299

    6.12 总结 301

    第7章 浏览器功能测试 Support 302

    第8章 属性操作 Attributes 392

    第9章 事件系统 Events 448

    第10章 DOM 遍历 Traversing 562

    第11章 DOM 操作 Manipulation 577

    第12章 样式操作 CSS 618

    第13章 异步请求 Ajax 673

    第14章 动画 Effects 761

    资源截图:

    渊博吧是一个优秀的学习资源下载平台,渊博吧祝您越来越强大!!!
    渊博吧-学习资料大全-学习资源下载网 » jQuery技术内幕:深入解析jQuery架构设计与实现原理

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    开通VIP可以下载全站的资料吗?
    博源吧
    一个专注学习资料下载的平台
    • 2021-06-22Hi,初次和大家见面了,请多关照!

    发表评论

    售后服务:

    • 售后服务范围 1、教程资源使用范围内问题免费咨询
      2、源码安装、模板安装(一般 ¥50-300)服务答疑仅限SVIP用户
      3、可为终生SVIP会员提供下载。
      付费增值服务 1、咨询学习教程等服务请详询在线客服
      2、提供学习资料相关的推荐
      3、普通会员提供下载地址(10元一部)
      4、承接 开发小程序、APP、SEO、网站等建站、仿站、开发、定制等服务
      售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
      免责声明 本站所提供的教程等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若教程侵犯了您的合法权益,请来信通知我们(Email: 616811604@qq.com),我们会及时删除,给您带来的不便,我们深表歉意!

    Hi, 如果你对这款教程有疑问,可以跟我联系哦!

    联系客服