第1章 JavaScript语言基础 1
1.1 JavaScript的发展历史 1
1.1.1 Netscape时代 1
1.1.2 Microsoft的加入 1
1.1.3 Firefox的异军突起 2
1.1.4 ECMAScript 2
1.2 JavaScript语法基础 3
1.2.1 语句 4
1.2.2 注释 4
1.2.3 直接量 5
1.2.4 变量声明 6
1.2.5 运算符 6
1.2.6 程序流程控制 10
1.3 JavaScript内置对象 13
1.3.1 全局对象(Global) 13
1.3.2 对象(Object) 14
1.3.3 数组对象(Array) 15
1.3.4 布尔值对象(Boolean) 15
1.3.5 日期对象(Date) 16
1.3.6 数学对象(Math) 17
1.3.7 函数对象(Function) 18
1.3.8 数字对象(Number) 19
1.3.9 正则表达式对象(RegExp) 19
1.3.10 字符串对象(String) 20
1.3.11 错误对象(Error) 20
1.4 小结 21
第2章 JavaScript面向对象编程 23
2.1 JavaScript面向对象特性 23
2.1.1 JavaScript中的类型 23
2.1.2 null和undefined 24
2.1.3 JavaScript中的函数 24
2.1.4 apply和call方法 26
2.1.5 this和with关键字 27
2.1.6 使用for(...in...) 27
2.2 JavaScript面向对象编程实现 28
2.2.1 类的声明 28
2.2.2 继承 29
2.2.3 多态 30
2.3 常见Ajax框架中的面向对象编程 31
2.3.1 Prototype 32
2.3.2 Dojo 33
2.4 JavaScript与设计模式 36
2.4.1 Singleton模式 37
2.4.2 Factory Method模式 37
2.4.3 Decorator模式 38
2.4.4 Observer模式 40
2.4.5 Fa?ade模式 43
2.4.6 Command模式 45
2.5 小结 46
第3章 字符串处理 47
3.1 JavaScript字符串处理函数 47
3.1.1 ECMAScript标准特性 47
3.1.2 非ECMAScript标准特性 53
3.2 正则表达式 56
3.2.1 什么是正则表达式 56
3.2.2 如何编写正则表达式 56
3.2.3 JavaScript中的正则表达式 57
3.2.4 元字符 59
3.2.5 限定符 59
3.2.6 定位符 60
3.2.7 括号表达式 61
3.2.8 选择和分组 62
3.3 字符串处理应用示例 63
3.3.1 截断 63
3.3.2 填充 64
3.3.3 连接 66
3.3.4 计算长度 67
3.3.5 验证 68
3.3.6 首字母大写 69
3.3.7 屏蔽非法用词 70
3.3.8 删除HTML标签 70
3.4 小结 70
第4章 JavaScript与浏览器 71
4.1 BOM 71
4.1.1 window对象 71
4.1.2 document对象 78
4.1.3 location对象 82
4.1.4 navigator对象 83
4.1.5 screen对象 84
4.1.6 history对象 85
4.2 JavaScript浏览器编程示例 85
4.2.1 浏览器类型、操作系统类型的判断 86
4.2.2 浏览器窗口的控制 87
4.2.3 页面之间的参数传递 95
4.2.4 定时操作 101
4.3 小结 104
第5章 DOM基础 105
5.1 DOM概述 105
5.2 DOM标准 106
5.2.1 DOM Level 1核心接口 107
5.2.2 DOM Level 1 HTML接口 110
5.2.3 DOM Level 2核心接口 115
5.2.4 DOM Level 2 HTML接口 116
5.3 DOM的使用 118
5.3.1 访问指定节点 118
5.3.2 访问相关节点 122
5.3.3 检查节点类型 125
5.3.4 创建节点 126
5.3.5 删除和修改节点 131
5.3.6 innerHTML属性 133
5.4 DOM应用示例 135
5.4.1 表格的排序 135
5.4.2 添加关键词链接 143
5.4.3 双向选择列表框 147
5.4.4 表单编程技巧 152
5.5 小结 157
第6章 事件模型 159
6.1 DOM事件模型 159
6.1.1 事件流 159
6.1.2 事件处理函数 161
6.1.3 事件对象 165
6.2 IE与DOM事件模型的区别 176
6.2.1 事件流 176
6.2.2 事件处理函数 177
6.2.3 事件对象 180
6.3 事件处理应用示例 181
6.3.1 简单拖放效果 181
6.3.2 商品评级功能 185
6.3.3 限制文本框的输入长度 188
6.3.4 相册预览 191
6.4 小结 196
第7章 样式编程 197
7.1 样式编程基础 197
7.1.1 访问样式 197
7.1.2 访问样式表 200
7.2 样式编程应用示例 203
7.2.1 网页换肤 203
7.2.2 图片倒影特效 209
7.2.3 圆角边框 214
7.2.4 工具提示(Tooltip) 223
7.3 小结 228
第8章 JavaScript与XML 229
8.1 浏览器中的XML DOM 229
8.1.1 IE中的XML DOM 229
8.1.2 Mozilla中的XML DOM 235
8.2 浏览器中的XPath 237
8.2.1 IE中的XPath 237
8.2.2 Mozilla中的XPath 238
8.3 浏览器中的XSLT 241
8.3.1 IE中的XSLT 241
8.3.2 Mozilla中的XSLT 246
8.4 XML编程应用示例 246
8.5 小结 254
第9章 JavaScript与服务器端的交互 255
9.1 Image对象 255
9.2 隐藏框架 258
9.3 远程脚本 263
9.3.1 Flickr相册 265
9.3.2 del.icio.us书签 271
9.4 XMLHttpRequest对象 278
9.4.1 XMHttpRequest对象简介 278
9.4.2 XHR对象封装类 281
9.4.3 RSS阅读器 286
9.5 小结 294
第10章 JavaScript与插件 295
10.1 ActiveX控件 295
10.1.1 创建ActiveX控件 295
10.1.2 使用ActiveX控件 300
10.2 Java Applet 302
10.2.1 创建Applet 302
10.2.2 使用Applet 303
10.3 Flash 305
10.3.1 创建Flash 306
10.3.2 Flash与JavaScript的交互 308
10.4 小结 311
第11章 JavaScript的调试与优化 313
11.1 JavaScript开发工具 313
11.2 JavaScript单元测试 315
11.2.1 JsUnit 316
11.2.2 Script.aculo.us 320
11.3 JavaScript的调试 322
11.4 日志输出 326
11.5 性能测试与优化 331
11.6 小结 338