更新时间:2019-01-02 10:48:12
封面
版权信息
前 言
第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.2.1 相当精巧的库——P.js
5.2.2 JS.Class
5.2.3 simple-inheritance
5.2.4 体现JavaScript灵活性的库——def.js
5.3 es5属性描述符对OO库的冲击
第6章 选择器引擎
6.1 浏览器内置的寻找元素的方法
6.2 getElementsBySelector
6.3 选择器引擎涉及的知识点
6.4 选择器引擎涉及的通用函数
6.4.1 isXML
6.4.2 contains
6.4.3 节点排序与去重
6.4.4 切割器
6.4.5 属性选择器对于空白字符的匹配策略
6.4.6 子元素过滤伪类的分解与匹配
6.5 Sizzle引擎
第7章 节点模块
7.1 节点的创建
7.2 节点的插入
7.3 节点的复制
7.4 节点的移除
7.5 innerHTML、innerText与outerHTML的处理
7.6 一些奇葩的元素节点
7.6.1 iframe元素
7.6.2 object元素
7.6.3 video标签
第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.3.1 opacity
9.3.2 user-select
9.3.3 background-position
9.3.4 z-index
9.3.5 盒子模型
9.3.6 元素的尺寸
9.3.7 元素的显隐
9.3.8 元素的坐标
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.12mouseenter与mouseleave事件的修复
11.13 focusin与focusout事件的修复
11.14 旧版本IE下submit的事件代理的实现