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

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

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。
8.750 评价豆瓣读书
免费试读

作品简介

本书首先通过“总体架构”梳理了各个模块的分类、功能和依赖关系,让大家对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. 前 言
  2. 为什么要写这本书
  3. 读者对象
  4. 如何阅读本书
  5. 勘误和支持
  6. 致谢
  7. 第一部分 总体架构
  8. 第1章 总体架构
  9. 1.1 设计理念
  10. 1.2 总体架构
  11. 1.3 自调用匿名函数
  12. 1.4 总结
  13. 第二部分 构造jQuery对象
  14. 第2章 构造jQuery对象
  15. 2.1 构造函数jQuery()
  16. 2.2 总体结构
  17. 2.3 jQuery.fn.init(selector,context,rootjQuery)
  18. 2.4 jQuery.buildFragment(args,nodes,scripts)
  19. 2.5 jQuery.clean(elems,context,fragment,scripts)
  20. 2.6 jQuery.extend()、jQuery.fn.extend()
  21. 2.7 原型属性和方法
  22. 2.8 静态属性和方法
  23. 2.9 总结
  24. 第三部分 底层支持模块
  25. 第3章 选择器Sizzle
  26. 3.1 总体结构
  27. 3.2 选择器表达式
  28. 3.3 设计思路
  29. 3.4 Sizzle(selector,context,results,seed)
  30. 3.5 正则chunker
  31. 3.6 Sizzle.find(expr,context,isXML)
  32. 3.7 Sizzle.filter(expr,set,inplace,not)
  33. 3.8 Sizzle.selectors.relative
  34. 3.9 Sizzle.selectors
  35. 3.10 工具方法
  36. 3.11 便捷方法
  37. 3.12 jQuery扩展
  38. 3.13 总结
  39. 第4章 异步队列Deferred Object
  40. 4.1 jQuery.Callbacks(flags)
  41. 4.2 jQuery.Deferred(func)
  42. 4.3 jQuery.when(deferreds)
  43. 4.4 异步队列在jQuery中的应用
  44. 4.5 总结
  45. 第5章 数据缓存Data
  46. 5.1 实现原理
  47. 5.2 总体结构
  48. 5.3 jQuery.acceptData(elem)
  49. 5.4 jQuery.data(elem,name,data,pvt)、jQuery._data(elem,name,data,pvt)
  50. 5.5 .data(key,value)
  51. 5.6 jQuery.removeData(elem,name,pvt)、.removeData(key)
  52. 5.7 .removeData(key)
  53. 5.8 jQuery.cleanData(elems)
  54. 5.9 jQuery.hasData(elem)
  55. 5.10 总结
  56. 第6章 队列Queue
  57. 6.1 如何使用
  58. 6.2 实现原理
  59. 6.3 总体结构
  60. 6.4 jQuery.queue(elem,type,data)
  61. 6.5 jQuery.dequeue(elem,type)
  62. 6.6 .queue(type,data)
  63. 6.7 .dequeue(type)
  64. 6.8 .delay(time,type)
  65. 6.9 .clearQueue(type)
  66. 6.10 jQuery._mark(elem,type)、jQuery._unmark(force,elem,type)
  67. 6.11 .promise(type,object)
  68. 6.12 总结
  69. 第7章 浏览器功能测试Support
  70. 7.1 总体结构
  71. 7.2 DOM测试(15项)
  72. 7.3 样式测试(3项)
  73. 7.4 盒模型测试(10项)
  74. 7.5 事件测试(4项)
  75. 7.6 Ajax测试(2项)
  76. 7.7 总结
  77. 第四部分 功能模块
  78. 第8章 属性操作Attributes
  79. 8.1 总体结构
  80. 8.2 jQuery.attr(elem,name,value,pass)
  81. 8.3 .attr(name,value)
  82. 8.4 jQuery.removeAttr(elem,value)
  83. 8.5 .removeAttr(name)
  84. 8.6 jQuery.prop(elem,name,value)
  85. 8.7 .prop(name,value)
  86. 8.8 .removeProp(name)
  87. 8.9 .addClass(className)
  88. 8.10 .removeClass([className])
  89. 8.11 .toggleClass([className][,switch])
  90. 8.12 .hasClass(selector)
  91. 8.13 .val([value])
  92. 8.14 总结
  93. 第9章 事件系统Events
  94. 9.1 总体结构
  95. 9.2 实现原理
  96. 9.3 jQuery事件对象
  97. 9.4 绑定事件
  98. 9.5 移除事件
  99. 9.6 事件响应
  100. 9.7 手动触发事件
  101. 9.8 事件修正和模拟jQuery.event.special
  102. 9.9 事件便捷方法
  103. 9.10 组合方法
  104. 9.11 ready事件
  105. 9.12 总结
  106. 第10章 DOM遍历Traversing
  107. 10.1 总体结构
  108. 10.2 遍历函数
  109. 10.3 工具函数
  110. 10.4 模板函数
  111. 10.5 总结
  112. 第11章 DOM操作Manipulation
  113. 11.1 总体结构
  114. 11.2 插入元素
  115. 11.3 删除元素
  116. 11.4 复制元素
  117. 11.5 替换元素
  118. 11.6 包裹元素
  119. 11.7 总结
  120. 第12章 样式操作CSS
  121. 12.1 内联样式、计算样式
  122. 12.2 坐标Offset
  123. 12.3 尺寸Dimensions
  124. 12.4 总结
  125. 第13章 异步请求Ajax
  126. 13.1 总体结构
  127. 13.2 jQuery.ajax(url,options)
  128. 13.3 前置过滤器、请求发送器的初始化和执行
  129. 13.4 前置过滤器
  130. 13.5 请求发送器
  131. 13.6 数据转换器
  132. 13.7 Ajax事件
  133. 13.8 便捷方法
  134. 13.9 工具方法
  135. 13.10 总结
  136. 第14章 动画Effects
  137. 14.1 总体结构
  138. 14.2 动画入口
  139. 14.3 动画执行
  140. 14.4 停止动画.stop(type,clearQueue,gotoEnd)
  141. 14.5 便捷方法
  142. 14.6 总结
载入中

热门划线

喜欢这本书的人也喜欢