JavaScript权威指南——ECMAScript5+HTML5DOM+HTML5BOM

JavaScript权威指南——ECMAScript5+HTML5DOM+HTML5BOM

第1篇 ECMAScript和JavaScript语言基础入门篇

1 正确认识ECMAScript5和JavaScript

1.1 ECMAScript和JavaScript的关系
1.1.1 关于标准和实现
1.1.2 JavaScript与ECMAScript版本的关系
1.2 有关JavaScript的认识
1.2.1 区分JavaScript和JScript
1.2.2 JavaScript不是解释型Java语言
1.2.3 什么是脚本语言
1.2.4 区分客户端和服务端JavaScript

2 准备开发环境和运行环境

2.1 正确认识JavaScript的开发工具
2.1.1 Dreamweaver的安装和配置向导
2.1.2 Aptana Studio的安装和配置向导
2.2 准备执行环境
2.2.1 浏览器的发展史
2.2.2 安装浏览器
2.2.3 在浏览器中启用JavaScript执行环境

3 在网页中编写JavaScript脚本代码

3.1 创建第一个JavaScript应用程序
3.1.1 使用Dreamweaver编写JavaScript
3.1.2 使用Aptana Studio编写JavaScript
3.2 在HTML网页中书写JavaScript脚本代码
3.2.1 使用script元素定义脚本代码
3.2.2 在事件属性值中定义脚本
3.2.3 在超链接中定义脚本
3.3 浏览器不支持脚本时应注意的问题
3.3.1 noscript元素
3.3.2 关于隐藏脚本数据
3.4 声明脚本语言
3.4.1 默认的脚本语言
3.4.2 脚本语言的本地声明

4 程序开发的基石——声明和使用变量

4.1 变量的声明
4.1.1 声明和命名变量
4.1.2 变量和标识符的命名规范
4.1.3 变量的数据类型
4.1.4 自定义常量和内建常量
4.2 在程序中使用变量
4.2.1 为变量赋值和更改变量值
4.2.2 使用变量和获取变量值
4.3 变量的传值和传址
4.3.1 传值变量——按值传递
4.3.2 传址变量——按引用传递
4.4 内存使用规则——堆和栈
4.4.1 栈的使用规则
4.4.2 堆的使用规则
4.4.3 易犯的错误
4.5 数据类型转换

5 JavaScript语法规范和良好的编程习惯

5.1 空白和多行书写
5.2 点语法
5.3 花括号
5.4 分号
5.5 圆括号
5.6 字母的大小写
5.7 程序注释
5.7.1 单行注释和尾随注释
5.7.2 多行注释
5.7.3 文档注释
5.7.4 HTML注释
5.8 关键字
5.9 培养良好的编程习惯
5.9.1 通用的变量名、方法名和类名命名约定
5.9.2 重构
5.9.3 使用注释
5.10 ECMAScript5严格模式
5.10.1 使用严格模式
5.10.2 严格模式的特定要求

6 数据运算和运算规则

6.1 JavaScript表达式
6.1.1 简单表达式和复杂表达式
6.1.2 赋值表达式和单值表达式
6.2 算术运算符
6.2.1 算术运算符的使用
6.2.2 进行算术运算时的注意事项
6.3 赋值运算符
6.4 字符串运算符
6.5 比较运算符和逻辑运算符
6.5.1 数据类型的影响
6.5.2 全等运算符
6.5.3 特殊值的比较
6.5.4 易犯错的比较运算
6.6 位运算符
6.7 其他运算符
6.7.1 三元条件运算符
6.7.2 typeof运算符
6.7.3 instanceof运算符
6.7.4 圆括号和逗号运算符的结合使用
6.7.5 delete运算符
6.7.6 void运算符
6.8 运算符的使用规则
6.8.1 运算符的优先级规则
6.8.2 运算符的结合规则
6.9 运行时进行类型检查

7 流程控制

7.1 语句和语句块
7.2 if…else条件语句
7.3 switch条件语句
7.4 do...while循环
7.5 for循环
7.6 for...in循环
7.7 for each...in循环
7.8 其他流程控制
7.8.1 break语句
7.8.2 continue语句
7.8.3 标签语句
7.8.4 let语句
7.8.5 yield语句
7.9 with语句
7.10 流程控制总结

8 内建的全局函数

8.1 eval()函数
8.2 转义操作函数
8.2.1 escape()和unescape()函数
8.2.2 encodeURI()和decodeURI()函数
8.2.3 encodeURIComponent()和decodeURIComponent()函数
8.3 转换函数
8.3.1 parseFloat()函数
8.3.2 parseInt()函数
8.3.3 Number()和String()函数
8.3.4 Boolean()函数
8.4 判断函数
8.4.1 isFinite()函数
8.4.2 isNaN()函数

9 自定义函数

9.1 函数的定义
9.2 函数的调用
9.2.1 在函数中定义参数的初始值
9.2.2 嵌套函数的定义和调用
9.2.3 条件函数的定义和调用
9.2.4 特殊的调用方式
9.3 使用函数表达式定义函数(匿名函数)
9.3.1 函数表达式和函数语句的区别
9.3.2 匿名自执行函数
9.4 使用Function类定义函数
9.5 变量的作用范围和生命周期
9.5.1 了解变量的作用范围和生命周期
9.5.2 局部变量的声明
9.5.3 全局变量的声明
9.5.4 全局变量和局部变量的使用
9.5.5 易出错的变量使用
9.6 形参和实参
9.7 闭包函数(绑定函数)
9.7.1 什么是闭包函数
9.7.2 闭包函数常用的环境
9.7.3 易犯的错误
9.8 产生器

第II篇 JavaScript面向对象编程篇

10 面向对象编程(OOP)——创建类和使用类

10.1 面向对象编程思想
10.1.1 对象的抽象
10.1.2 对象的使用
10.1.3 易犯的错误
10.1.4 面向对象程序设计的优点和基本特征
10.1.5 面向对象和结构化程序设计的区别
10.2 创建类
10.2.1 创建一个JavaScript类
10.2.2 类的定义
10.2.3 关于构造器方法
10.2.4 获取构造器方法
10.3 类的使用
10.3.1 创建类的实例
10.3.2 访问对象属性
10.3.3 调用对象方法
10.3.4 调用静态方法和访问静态属性
10.4 使用this关键字定义方法和属性
10.5 使用prototype定义方法和属性
10.5.1 使用prototype定义方法
10.5.2 使用prototype定义属性
10.5.3 关于prototype和__proto__属性
10.6 使用Object类为实例定义方法和属性
10.6.1 使用return语句定义方法和属性
10.6.2 使用prototype和Object配合为类定义方法和属性
10.7 使用get和set存取器方法定义属性
10.8 在类体内使用this关键字
10.8.1 使用this时易犯的错误
10.8.2 闭包方法(绑定方法)内的this关键字
10.8.3 事件处理中的闭包
10.8.4 另一个使用this时易犯的错误

11 建立更可靠的OOP程序——类和成员的访问控制

12 重复使用类——继承和组合

12.1 类的继承
12.1.1 创建子类
12.1.2 使用基类的构造器方法
12.1.3 检测继承关系
12.1.4 使用$super实现访问基类
12.1.5 创建子类时的注意事项
12.2 扩展内建JavaScript类
12.3 类的组合
12.3.1 实现类的组合
12.3.2 组合的优点
12.3.3 了解is-a和has-a
12.3.4 关于聚合和组合

13 静态成员、静态类和枚举(Enumeration)

13.1 定义静态成员和静态类的意义
13.2 创建静态成员
13.2.1 使用静态成员
13.2.2 静态成员和继承
13.2.3 使用静态成员的注意事项
13.3 静态类及其声明方法
13.4 枚举(Enumeration)
13.4.1 创建枚举
13.4.2 使用枚举的优点

14 多态(Polymorphism)——重载和覆载

14.1 方法的重载(overLoad)
14.1.1 重载参数列表的数量
14.1.2 重载参数列表的数据类型
14.2 方法的覆载(overRide)
14.3 属性的覆载

15 原型链本质论

15.1 原型链的根源
15.1.1 内部属性
15.1.2 访问内部属性[Prototype]
15.2 prototype的作用 原型链的实现
15.2.1 实现继承
15.2.2 分享属性(和方法)
15.2.3 __proto__和prototype属性的区别
15.2.4 使用ECMAScript5新增的原型处理功能
15.3 检查原型链
15.3.1 查看对象是否在指定对象的原型链中
15.3.2 查看指定对象是否定义了特定属性和方法
15.3.3 使用hasOwnProperty()方法过滤原型链
15.3.4 查看指定对象是否定义了特定属性且可以枚举

16 ECMAScript 5增强的对象模型

16.1 属性和描述符
16.1.1 易犯的错误
16.1.2 使用ECMAScript 5增强的对象模型定义属性
16.1.3 定义get和set存取器方法
16.1.4 一次定义多个属性
16.1.5 获取特定属性的属性描述符
16.2 枚举属性
16.2.1 Object.keys(obj)方法
16.2.2 Object.getOwnPropertyNames(obj)方法
16.3 密封对象和动态对象
16.3.1 密封对象不允许添加成员
16.3.2 密封对象不允许添加和删除成员
16.3.3 完全密封对象
16.3.4 易犯的错误
16.4 根据原型创建对象

17 处理字符串——String类和正则表达式

17.1 正则表达式语法
17.1.1 正则表达式的基本语法
17.1.2 优先权顺序
17.2 使用RegExp处理字符串正则匹配
17.2.1 创建一个RegExp对象
17.2.2 使用exec()和test()方法进行正则匹配
17.3 使用String类处理字符串
17.3.1 String类的方法和属性
17.3.2 创建打字机效果
17.3.3 使用match()方法
17.3.4 使用replace()方法
17.3.5 使用$替换变量
17.3.6 使用search()方法
17.3.7 使用split()方法
17.3.8 创建HTML格式的字符串

18 数组、多维数组和复合数组(哈希映射)

18.1 创建数组
18.1.1 创建数组的基本方法
18.1.2 使用索引数组
18.1.3 使用全局函数Array()时的注意事项
18.2 实现和使用多维数组
18.3 使用Array API处理数组
18.3.1 常用的范例
18.3.2 ECMAScript 5新增方法的使用
18.3.3 数组的排序
18.4 克隆数组
18.4.1 浅表克隆
18.4.2 深度克隆
18.5 创建和使用复合数组
18.5.1 使用Object对象创建复合数组
18.5.2 使用Array对象创建复合数组
18.5.3 遍历复合数组
18.6 哈希表
18.6.1 实现哈希表
18.6.2 使用哈希表
18.7 Array推知

19 处理日期和时间

19.1 使用Date类处理日期和时间
19.1.1 返回当前时间和日期
19.1.2 返回特定的时间和日期
19.1.3 获取特定时间和日期字段
19.1.4 设置特定时间和日期字段
19.1.5 使用parse()方法解析日期字符串
19.1.6 使用Date.UTC()方法返回时间戳
19.2 实现日期输入控件

20 其他JavaScript内建类(核心对象)

20.1 使用Boolean类处理逻辑值
20.2 使用Number类进行数字类型转换
20.3 使用Math类进行复杂的数学运算
20.4 使用Function和arguments类
20.4.1 Function类
20.4.2 Arguments类和arguments属性
20.5 JSON操作
20.5.1 序列化JavaScript数据为JSON数据
20.5.2 逆序列化JSON数据为JavaScript数据

第III篇 HTML5BOM篇

21 BOM之源——window对象

21.1 定时器 间隔调用和延迟调用
21.1.1 使用setInterval()和clearInterval()方法实现间隔调用
21.1.2 范例——创建打字机效果
21.1.3 使用setTimeout()和clearTimeout()方法实现延迟调用
21.1.4 易犯的错误
21.1.5 强制清除
21.2 基本的交互操作
21.2.1 警告对话框
21.2.2 确认对话框
21.2.3 提示输入消息对话框
21.2.4 使用增强的交互式对话框
21.2.5 范例——使用交互式对话框相互传值
21.2.6 打印
21.3 窗口交互操作
21.3.1 打开新窗口
21.3.2 关闭窗口
21.3.3 取消文档加载
21.3.4 获取窗口引用
21.3.5 调整窗口的焦点
21.4 网页和浏览器交互

22 BOM基本应用——管理浏览历史、解析地址和获取浏览器信息

22.1 浏览历史管理
22.2 解析地址
22.3 获取浏览器信息
22.3.1 遍历navigator对象成员
22.3.2 检测浏览器类型
22.3.3 自定义架构处理
22.3.4 自定义内容类型处理
22.3.5 手动处理storage独占访问权
22.3.6 检测脱机模式
22.4 非标准应用
22.4.1 screen对象
22.4.2 clipboardData对象

23 BOM新成就(1)——客户端数据存储技术

23.1 Web存储
23.2 本地存储和会话存储
23.2.1 在客户端持久存储数据
23.2.2 关于浏览器兼容
23.2.3 在会话期存储数据
23.3 Storage接口
23.3.1 获取和更新存储
23.3.2 清除存储
23.3.3 清除指定的键
23.3.4 添加新键和更新键值
23.4 storage事件
23.5 Web SQL Database
23.5.1 第1个Web SQL Database应用
23.5.2 使用Web SQL Database的基本步骤
23.6 异步数据库
23.6.1 执行数据库事务
23.6.2 数据库版本管理
23.6.3 执行SQL语句
23.7 同步数据库
23.7.1 执行数据库事务
23.7.2 数据库版本管理
23.7.3 执行SQL语句
23.8 处理数据库操作结果
23.9 错误和异常
23.10 在开发人员工具中使用SQL语句
23.11 SQLite SQL语法和数据库的数据类型
23.12 SQL注入缺陷和参数化查询

24 BOM新成就(2)——新的服务器通信技术

24.1 服务器推送技术
24.1.1 使用Server-Sent Event入门
24.1.2 服务器要求
24.1.3 使用EventSource对象
24.1.4 在Web Workers中使用EventSource对象
24.2 套接字连接
24.2.1 使用Web Socket入门
24.2.2 关于Web Socket通信协议
24.2.3 使用WebSocket对象

第IV篇 DOM篇

25 HTML5DOM新标准——处理文档元信息和管理交互功能

25.1 了解DOM
25.1.1 DOM基于节点树的表现形式
25.1.2 什么是HTML DOM
25.1.3 HTML DOM和核心DOM的区别与联系
25.1.4 什么是接口
25.2 document对象
25.2.1 处理文档元信息
25.2.2 实用功能——处理Cookie
25.2.3 检查文档状态
25.2.4 开启和关闭文档
25.2.5 易犯的错误——区分两个open方法
25.2.6 向网页中写入内容
25.2.7 清除网页中的内容
25.2.8 实用功能——弹出通知窗口
25.2.9 使整个文档都可编辑
25.2.10 焦点管理
25.3 编辑API
25.3.1 命令
25.3.2 创建网页富文本编辑器

26 使用CoreDOM方法处理HTML DOM树

26.1 一切皆是节点 学习DOM的首要认识
26.1.1 JavaScript DOM API的节点类型
26.1.2 节点的层次关系
26.2 处理DOM文档
26.3 使用DOM API处理HTML文档
26.3.1 基本的节点处理
26.3.2 节点名、节点值和属性
26.3.3 删除HTML文档中的元素节点、属性和内容
26.3.4 使用replaceChild()方法替换节点
26.4 主要接口的使用
26.4.1 Document接口
26.4.2 Attr接口
26.4.3 CDATASection接口
26.4.4 CharacterData接口
26.4.5 Comment接口
26.4.6 DocumentFragment接口
26.4.7 DocumentType接口
26.4.8 DOMException接口
26.4.9 DOMImplementation接口
26.4.10 Element接口
26.4.11 Entity接口
26.4.12 EntityReference接口
26.4.13 Notation接口
26.4.14 ProcessingInstruction接口
26.4.15 Text接口
26.4.16 NodeList接口
26.4.17 NamedNodeMap接口

27 使用HTML5DOM扩展CoreDOM方法

27.1 使用HTML5DOM访问元素
27.1.1 遍历节点树
27.1.2 getElementsByTagName()方法
27.1.3 getElementsByName()方法和getter属性
27.1.4 getElementById()方法
27.1.5 getElementsByClassName()方法
27.1.6 关于HTMLElement接口
27.1.7 innerHTML属性、outerHTML属性和insertAdjacentHTML()方法
27.2 修改HTML文档
27.3 根据CSS选择符访问元素
27.4 表单处理
27.4.1 处理输入控件
27.4.2 获取上载文件
27.4.3 使用HTML5DOM API验证控件
27.5 HTML5DOM通用接口的使用
27.5.1 HTMLCollection接口
27.5.2 HTMLAllCollection接口
27.5.3 HTMLFormControlsCollection接口
27.5.4 HTMLOptionsCollection接口
27.5.5 HTMLPropertiesCollection接口
27.5.6 DOMTokenList接口
27.5.7 DOMSettableTokenList接口
27.5.8 DOMStringMap接口
27.5.9 DOMException接口
27.5.10 RadioNodeList接口

28 使用DHTML和样式DOM处理CSS样式表

28.1 在HTML文档中应用CSS
28.1.1 嵌入式
28.1.2 外部引用式
28.1.3 内联式
28.2 了解规则块、规则和样式
28.2.1 规则块
28.2.2 规则和样式
28.2.3 @规则
28.3 处理CSS
28.3.1 使用style属性处理内联CSS
28.3.2 处理style和link元素定义的样式表
28.3.3 处理导入的样式表
28.3.4 添加指令和规则
28.3.5 样式表相关对象
28.4 DOM样式表
28.4.1 StyleSheet接口
28.4.2 StyleSheetList接口
28.4.3 MediaList接口
28.4.4 LinkStyle接口
28.4.5 DocumentStyle接口
28.5 DOM CSS规范
28.5.1 CSSStyleSheet接口
28.5.2 CSSRuleList接口
28.5.3 CSSRule接口
28.5.4 CSSImportRule接口
28.5.5 CSSStyleRule接口
28.5.6 CSSStyleDeclaration接口
28.6 兼容性指南
28.6.1 获取样式规则
28.6.2 获取导入的样式规则
28.6.3 新增@import规则
28.6.4 新增@page规则
28.6.5 新增样式规则
28.6.6 删除样式规则

29 事件DOM

29.1 基本事件处理
29.1.1 事件处理的三要素
29.1.2 事件处理的实现
29.1.3 事件处理的总结
29.1.4 处理事件
29.2 事件流
29.2.1 捕获阶段(capturing phase)
29.2.2 目标阶段(targeting phase)
29.2.3 冒泡阶段(bubbling phase)
29.2.4 可用的基本交互事件
29.3 事件对象
29.4 响应键盘事件
29.4.1 获取按键
29.4.2 响应组合键事件

30 DHTML范例

30.1 滚动播出效果(marquee)
30.1.1 竖直滚动的文本行
30.1.2 竖直滚动的图片
30.1.3 水平滚动的图片
30.2 常用的广告效果
30.2.1 广告的随机滚动出现
30.2.2 对联广告
30.3 导航菜单和选项卡面板
30.3.1 二级分层式导航菜单
30.3.2 弹出菜单式导航
30.3.3 选项卡面板
30.4 处理表单
30.4.1 表单复选框全选
30.4.2 表单的验证

第V篇 AJAX篇

31 XMLHttpRequest和AJAX解决方案

31.1 AJAX的核心
31.2 AJAX的使用
31.2.1 一个标准的AJAX应用所应具备的步骤
31.2.2 XMLHttpRequest的方法和属性
31.2.3 一个标准的同步调用所应具备的步骤
31.2.4 编码混乱问题的解决
31.2.5 跨浏览器兼容
31.2.6 AJAX的特点
31.2.7 解决请求被浏览器缓存问题
31.3 处理返回值中的XML
31.3.1 处理解析错误
31.3.2 DOMParser
31.3.3 XMLSerializer
31.3.4 DOMImplementation
31.4 跨域请求
31.4.1 使用代理实现跨域请求
31.4.2 使用XDomainRequest
31.4.3 XDomainRequest跨域访问控制

32 AJAX框架——Spry和JQuery

32.1 当前比较流行的AJAX框架
32.2 Spry使用入门
32.2.1 第一个Spry范例
32.2.2 数据集的动态绑定
32.2.3 Spry框架的组成部分
32.3 jQuery使用入门
32.3.1 第一个jQuery范例
32.3.2 基本语法

33 网页、网站和网络应用程序

33.1 安装和设置网络应用程序的运行环境
33.1.1 安装IIS
33.1.2 通过服务器请求网页
33.2 Web服务器根目录和虚拟目录
33.2.1 Web服务器根目录
33.2.2 虚拟目录
33.2.3 启用默认文件
33.3 安装ASP.NET应用程序服务器

34 网页的请求和响应

34.1 了解请求和响应的基本过程
34.1.1 请求和响应的基本过程
34.1.2 了解URI、URL和URN
34.2 HTTP协议基础
34.2.1 了解HTTP消息的内容
34.2.2 了解HTTP请求的内容
34.2.3 了解HTTP响应的内容
34.2.4 了解HTTP消息报头的内容

第VI篇 安全性、执行效率、部署与实战篇

35 JavaScript安全和同源策略

35.1 跨站脚本攻击(XSS)
35.1.1 如何防范跨站脚本攻击
35.1.2 使用ASP.NET的请求验证防范XSS
35.2 相同Origin策略的限制 同源策略
35.2.1 了解Origin
35.2.2 放松相同起点限制

36 JavaScript部署和高性能JavaScript

36.1 文档瘦身
36.2 控制内存
36.3 优化代码的一般常识
36.4 页面重构 DOM Reflow和Repaint
36.4.1 关于DOM Reflow和Repaint
36.4.2 优化DOM Reflow
36.4.3 优化Repaint
36.5 使用Web Workers优化JavaScript执行——多线程
36.5.1 检查浏览器支持
36.5.2 求素数的复杂运算
36.5.3 使用Web Workers入门
36.6 Web Workers规范API
36.6.1 Worker及其类型
36.6.2 Worker中可以使用的API
36.6.3 创建Worker
36.6.4 处理运行时错误
36.7 创建和使用专职Worker
36.7.1 终止Worker
36.7.2 消息的互传
36.8 创建和使用共享Worker
36.8.1 消息的互传
36.8.2 连接同一个共享Worker

37 处理程序异常——建立可靠的应用程序

37.1 错误和异常情况
37.2 异常情况处理
37.2.1 使用try...catch...finally语句
37.2.2 使用throw语句
37.2.3 使用异常捕捉
37.3 使用Error处理异常错误信息
37.4 条件catch语句

38 JavaScript调试技术

38.1 了解开发人员工具
38.2 开发人员工具的组成和使用
38.2.1 调试工具栏
38.2.2 激活JavaScript调试
38.2.3 主要内容窗口
38.2.4 使用断点
38.2.5 使用条件断点
38.2.6 控制执行
38.2.7 “局部变量”窗口
38.2.8 “监视”窗口
38.2.9 “调用堆栈”窗口
38.3 使用脚本调试工具范例实战
38.3.1 定义一个JavaScript网页
38.3.2 调试实战
38.4 “控制台”窗口
38.4.1 使用“控制台”窗口
38.4.2 对警报和错误消息进行日志记录

第VII篇 JavaScript和ActiveXObject篇

39 使用FSO访问文件系统

39.1 使用FileSystemObject类
39.1.1 类和集合
39.1.2 检查磁盘、文件和文件夹是否存在
39.1.3 访问磁盘、文件和文件夹
39.1.4 关于IE专用的Enumerator
39.2 处理文件夹
39.3 处理文件
39.3.1 创建文件
39.3.2 向文件中添加数据
39.3.3 读取文件内容
39.3.4 TextStream类成员概要
39.3.5 移动、复制和删除文件

40 使用ADO访问数据库

40.1 安装和使用Access数据库
40.1.1 安装Access数据库软件
40.1.2 使用Access创建数据库
40.2 理解数据库连接和配置数据源
40.2.1 理解数据库连接
40.2.2 理解数据库连接驱动
40.2.3 通过ODBC连接数据库
40.3 基本数据库查询操作
40.3.1 查询和显示数据库记录
40.3.2 遍历列出数据库内容
40.4 修改数据
40.4.1 插入数据记录
40.4.2 更新数据记录
40.4.3 删除数据记录
40.5 操作数据库结构
40.6 在JavaScript程序中应用ADO的基本步骤
40.6.1 创建连接
40.6.2 创建命令
40.6.3 执行命令
40.6.4 处理结果
40.6.5 关闭连接
40.7 SQL语法入门
40.7.1 SQL语法的基础知识
40.7.2 定义记录集的列
40.7.3 限制记录集中的记录
40.7.4 对记录集中的记录进行排序
40.7.5 联接表

41 使用MSXML处理XML

41.1 在JavaScript应用程序中处理XML文档
41.1.1 了解XML文档对象
41.1.2 DOM基于节点的浏览
41.1.3 了解MSXML DOM组件
41.1.4 使用DOMDocument
41.2 创建和保存XML文档对象
41.2.1 解析字符串为DOM
41.2.2 解析XML文件为XMLDOM
41.2.3 使用版本号创建XMLDOM
41.2.4 保存和写出一个XML文档对象
41.3 使用XML对象处理数据内容
41.3.1 遍历节点树
41.3.2 使用getElementsByTagName()方法
41.3.3 使用XPath从XML文档中提取数据
41.3.4 修改XML文档
41.4 使用SAX处理XML文档
41.4.1 什么是SAX
41.4.2 SAX的工作原理
41.4.3 MSXML SAX的使用

42 使用OWC创建统计图表

42.1 创建简单统计图表
42.1.1 创建简单柱状图
42.1.2 创建立体柱状图
42.1.3 使用样式表创建柱状图
42.2 使用Office Web组件(OWC)创建统计图表
42.2.1 安装OWC
42.2.2 使用OWC
42.2.3 OWC组件的工作原理
42.2.4 创建饼图
42.2.5 增加数据系列
42.2.6 使用OWC配合数据库查询

43 使用CDO发送和接收电子邮件

43.1 安装和使用SMTP服务
43.1.1 安装SMTP服务
43.1.2 配置SMTP服务
43.1.3 配置Outlook使用本地SMTP服务发送邮件
43.1.4 区分POP3和SMTP服务
43.2 创建发送邮件的JavaScript应用程序
43.2.1 了解CDO
43.2.2 创建简单的邮件发送程序
43.2.3 使用远程SMTP服务
43.2.4 了解CDO组件成员
43.2.5 SMTP服务和CDO组件的工作原理
43.3 创建增强的邮件发送程序
43.3.1 发送带附件的电子邮件
43.3.2 发送多媒体邮件
43.3.3 群发邮件——抄送和密送
43.4 使用HTTP方式收信
43.4.1 分捡邮件
43.4.2 管理本地SMPT服务接收邮件的基本原理
43.5 如何解决错误消息

附录A 保留的关键字

附录B 键盘键和键控代码值对照表

附录C W3C的XMLHttpRequest接口规范

附录D input元素type属性值与HTMLInputElement API匹配索引

附录E HTML5元素和HTML5DOM接口的对应关系

附录F HTML4和HTML5事件属性对照表

附录G 参考资料来源

思维导图

JavaScript权威指南——ECMAScript5+HTML5DOM+HTML5BOM

防止博客图床图片失效,防止图片源站外链:

http://www.processon.com/chart_image/5e5a8bdae4b0541c5e144de6.png)

思维导图在线编辑链接:

https://www.processon.com/view/5e5a8bd9e4b0541c5e144de3

posted @ 2020-04-18 20:59  哀莫  阅读(179)  评论(0编辑  收藏  举报

欢迎访问我的主页!