内容简介
本书是一本全面探讨JavaScript框架设计与实现的专著。作者司徒正美是国内知名的前端技术专家,长期致力于JavaScript框架的研究与开发。本书从框架设计者的视角出发,深入剖析了主流JavaScript框架的核心技术与设计思想,旨在帮助读者不仅会使用框架,更能理解框架背后的原理,从而提升自身的技术深度与架构能力。
全书内容涵盖JavaScript框架的各个方面。首先介绍了框架设计的基础知识,包括原型继承、闭包、函数式编程等JavaScript语言特性在框架中的应用。接着详细讲解了类系统、模块加载、事件系统、数据绑定、模板引擎、路由系统等核心模块的设计方案与实现细节。书中不仅给出了具体代码示例,还对比了不同实现方式的优劣,让读者能够根据实际需求选择合适的架构风格。
在数据绑定方面,本书特别介绍了单向绑定与双向绑定的实现机制,以及脏检测、观察者模式、基于Object.defineProperty的响应式系统等常见方案的原理与代码。在模板引擎章节,作者从最基本的字符串替换讲起,逐步深入到编译型模板、虚拟DOM技术,以及如何设计高效的模板更新策略。
此外,本书还探讨了JavaScript框架的性能优化、错误处理、扩展机制等高级话题。通过阅读本书,读者将能够掌握从零开始搭建一个简易框架的能力,并为深入理解Vue、React、Angular等流行框架打下坚实的基础。本书适合有一定JavaScript基础、渴望提升架构水平的前端开发者阅读。
目录
第1章 种子模块
1.1 命名空间
1.2 对象扩展
1.3 数组化
1.4 类型的判定
1.5 主流框架引入的机制——domReady
1.6 无冲突处理
第2章 模块加载系统
2.1 AMD规范
2.2 加载器所在路径的探知
2.3 require方法
2.4 define方法
第3章 语言模块
3.1 字符串的扩展与修复
3.2 数组的扩展与修复
3.3 数值的扩展与修复
3.4 函数的扩展与修复
3.5 日期的扩展与修复
第4章 浏览器嗅探与特征侦测
4.1 判定浏览器
4.2 事件的支持侦测
4.3 样式的支持侦测
4.4 jQuery一些常用特征的含义
第5章 类工厂
5.1 JavaScript对类的支撑
5.2 各种类工厂的实现
5.3 es5属性描述符对OO库的冲击
第6章 选择器引擎
6.1 浏览器内置的寻找元素的方法
6.2 getElementsBySelector
6.3 选择器引擎涉及的知识点
6.4 选择器引擎涉及的通用函数
6.5 Sizzle引擎
第7章 节点模块
7.1 节点的创建
7.2 节点的插入
7.3 节点的复制
7.4 节点的移除
7.5 innerHTML、innerText与outerHTML的处理
7.6 一些奇葩的元素节点
第8章 数据缓存系统
8.1 jQuery的第1代缓存系统
8.2 jQuery的第2代缓存系统
8.3 mass Framework的第1代数据缓存系统
8.4 mass Framework的第2代数据缓存系统
8.5 mass Framework的第3代数据缓存系统
8.6 总结
第9章 样式模块
9.1 主体结构
9.2 样式名的修正
9.3 个别样式的特殊处理
9.4 元素的滚动条的坐标
第10章 属性模块
10.1 如何区分固有属性与自定义属性
10.2 如何判定浏览器是否区分固有属性与自定义属性
10.3 IE的属性系统的三次演变
10.4 className的操作
10.5 Prototype.js的属性系统
10.6 jQuery的属性系统
10.7 mass Framework的属性系统
10.8 value的操作
第11章 事件系统
11.1 onXXX绑定方式的缺陷
11.2 attachEvent的缺陷
11.3 addEventListener的缺陷
11.4 Dean Edward的addEvent.js源码分析
11.5 jquery1.8.2的事件模块概览
11.6 jQuery.event.add的源码解读
11.7 jQuery.event.remove的源码解读
11.8 jQuery.event.dispatch的源码解读
11.9 jQuery.event.trigger的源码解读
11.10 jQuery对事件对象的修复
11.11 滚轮事件的修复
11.12 mouseenter与mouseleave事件的修复
11.13 focusin与focusout事件的修复
11.14 旧版本IE下submit的事件代理的实现
11.15 oninput事件的兼容性处理
第12章 章异步处理
12.1 setTimeout与setInterval
12.2 Mochikit Deferred
12.3 JSDeferred
12.4 jQuery Deferred
12.5 Promise/A与mmDeferred
12.6 JavaScript异步处理的前景
第13章 数据交互模块
13.1 Ajax概览
13.2 优雅地取得XMLHttpRequest对象
13.3 XMLHttpRequest对象的事件绑定与状态维护
13.4 发送请求与数据
13.5 接收数据
13.6 上传文件
13.7 一个完整的Ajax实现
第14章 动画引擎
14.1 动画的原理
14.2 缓动公式
14.3 API的设计
14.4 mass Framework基于JavaScript的动画引擎
14.5 requestAnimationFrame
14.6 CSS3 transition
14.7 CSS3 animation
14.8 mass Framework基于CSS的动画引擎
第15章 插件化
15.1 jQuery的插件的一般写法
15.2 jQuery UI对内部类的操作
15.3 jQuery easy UI的智能加载与个别化制定
15.4 更直接地操作UI实例
第16章 MVVM
16.1 当前主流MVVM框架介绍
16.2 属性变化的监听
16.3 ViewModel
16.4 绑定
16.5 监控数组与子模板
您当前的等级为
登录后免费下载登录
小黑屋反思中,不准下载!
评论后刷新页面下载评论
支付¥以后下载
请先登录
您今天的下载次数(次)用完了,请明天再来
支付积分以后下载立即支付
支付以后下载立即支付
您当前的用户组不允许下载升级会员
您已获得下载权限
您可以每天下载资源次,今日剩余次
免责申明:
1. 本站分享的所有书籍均来源于自互联网,我们只进行收集整理,并不对书籍内容进行更改。
2. 部分书籍中可能有书籍压制者放置的广告,这并不是本站所为,请注意甄别。
3. 我们分享这些书籍,纯粹是出于知识分享的热情,以及对互联网分享精神的高度认同和践行,不以盈利为目的。
4. 本站分享的所有书籍,仅供个人学习研究使用,请勿用于任何商业用途,否则产生的一切法律纠纷与本站无关。
5. 如果这些书籍让你有所收获,在条件允许的情况下,请一定购买正版书籍,这是对创作者最好的支持。
6. 如果您是此书籍的版权所有者,且您不希望此作品出现在本站,请联系我们,我们将在收到您的请求后48小时内予以删除。