第1章 初识JavaScript 1
1.1什么是JavaScript 2
1.1.1 ECMAScript 2
1.1.2 JScript 3
1.2天使还是魔鬼 3
1.2.1种类繁多的浮动小广告 4
1.2.2超出想象 5
1.3 Hello JavaScript 6
1.3.1网页变脸 6
1.3.2移动的彩虹 7
1.4习题 10
第2章 JavaScript的环境 11
2.1运行环境 12
2.2开发工具 12
2.3脚本检查 14
2.3.1以<script>标签直接嵌入脚本 14
2.3.2以<script>标签引入脚本文件 15
2.4开发限制 15
2.5帮助文档 16
2.6解释型语言 16
2.7学习建议 17
2.8上机练习 18
第3章 JavaScript的基本语法 19
3.1算法 20
3.2变量 21
3.2.1变量的声明和赋值 21
3.2.2变量的命名规范 22
3.3数据类型分类 23
3.3.1数据类型分类 23
3.3.2类型转换 29
3.4关键字 33
3.5标识符 33
3.6常量 34
3.7转义字符 34
3.8运算符 35
3.8.1算术运算符 36
3.8.2赋值运算符 37
3.8.3关系运算符 38
3.8.4逻辑运算符 39
3.8.5位运算符 40
3.8.6其他运算符 42
3.8.7优先级和结合性 43
3.9控制语句 44
3.9.1选择条件语句 44
3.9.2循环语句 49
3.9.3 with语句 55
3.9.4异常控制语句 55
3.10数组 58
3.10.1数组的创建及使用 58
3.10.2 JavaScript数组 59
3.10.3多维数组 60
3.11函数 60
3.11.1函数的创建及使用 61
3.11.2函数的参数 62
3.11.3函数返回值 63
3.11.4内部函数和匿名函数 64
3.11.5回调函数 65
3.11.6递归算法 65
3.11.7变量的作用域和生命周期 67
3.12注释 69
3.13严格模式 71
3.14上机练习 72
第4章 JavaScript的对象 73
4.1面向对象 74
4.1.1类 75
4.1.2对象 75
4.1.3创建对象 76
4.1.4在ECMAScript 5中创建对象 77
4.1.5对象属性 77
4.1.6释放对象 79
4.1.7本地对象 80
4.2内置对象 80
4.2.1 Global对象 80
4.2.2 Object对象 83
4.2.3 Function对象 86
4.2.4 Array对象 95
4.2.5 String对象 97
4.2.6 Date对象 97
4.2.7 RegExp(正则表达式)对象 99
4.2.8 Math对象 102
4.2.9 Error对象 103
4.2.10 JSON对象 104
4.3上机练习 104
第5章 浏览器中的JavaScript 107
5.1 BOM——浏览器对象模型 108
5.1.1 window对象 108
5.1.2 location对象 111
5.1.3 history对象 112
5.1.4 navigator对象 112
5.1.5 screen对象 113
5.1.6 document对象 113
5.1.7 BOM对象 115
5.2 DOM——文档对象模型 115
5.2.1 W3C DOM 116
5.2.2测试DOM支持度 116
5.2.3与平台和语言无关 116
5.2.4文档的加载 116
5.3 DOM API接口的使用说明 118
5.3.1 DOM文档 118
5.3.2节点信息 118
5.3.3节点访问 121
5.3.4使用CSS选择器进行节点访问 123
5.3.5节点信息的修改 123
5.3.6移动节点 124
5.3.7创建节点 125
5.3.8强大的innerHTML属性 126
5.4上机练习 127
第6章 HTML+CSS+JS三效合一 129
6.1 CSS样式表 130
6.1.1从DHTML开始 131
6.1.2认识CSS 131
6.1.3 CSS选择器 133
6.1.4 CSS的使用 135
6.1.5 CSS滤镜 137
6.1.6 JS+CSS 138
6.1.7访问样式表 146
6.1.8 运行时样式 147
6.2事件 148
6.2.1 DOM事件模型 148
6.2.2事件对象 150
6.2.3事件流 151
6.2.4事件目标 154
6.2.5监听器 154
6.2.6事件类型 157
6.3上机练习 158
第7章 智能的表单验证 159
7.1表单 160
7.1.1表单属性 160
7.1.2表单事件 161
7.2表单元素 162
7.2.1元素引用 162
7.2.2输入框对象 163
7.2.3按钮对象 163
7.2.4复选框对象 164
7.2.5单选按钮对象 165
7.2.6 select对象 166
7.2.7文件上传 168
7.2.8动态生成元素 168
7.3智能表单 170
7.4上机练习 180
第8章 表格 181
8.1 table对象 182
8.2 tr和td对象 182
8.2.1 tr和td对象的访问 182
8.2.2 tr和td对象的创建 183
8.2.3 tr和td对象的删除 184
8.3数据展示 184
8.4表格排序 188
8.5表格拖动 192
8.6上机练习 199
第9章 网页Word 201
9.1框架集 202
9.2弹出窗口 204
9.3内部框架 205
9.4文本编辑器 207
9.5上机练习 215
第10章 JavaScript的动画 217
10.1动画基础 218
10.2定时器 218
10.2.1 JavaScript中的定时器 219
10.2.2帧和时间 221
10.3动起来还不够 222
10.3.1线性处理 223
10.3.2非线性处理 225
10.4通用接口 226
10.5上机练习 228
第11章 多媒体内容管理 229
11.1图片 230
11.1.1 Image对象 230
11.1.2图片控制 231
11.1.3图片与CSS 232
11.1.4图片浏览器 235
11.2多媒体元素 242
11.2.1 <embed>标签 242
11.2.2 <object>标签 244
11.3上机练习 245
第12章 Web拖动技术 247
12.1拖动技术 248
12.1.1元素定位 248
12.1.2鼠标事件 248
12.1.3核心技术 250
12.2拖动应用 258
12.3上机练习 266
第13章 曲奇拼图 267
13.1 Cookie 268
13.2方便的小甜点 268
13.3 JavaScript中的Cookie 268
13.4拼图游戏 271
13.5上机练习 274
第14章 资源加载策略 275
14.1更聪明的页面 276
14.1.1 DOM回调事件 276
14.1.2图片预加载技术 278
14.1.3 CSS文件的动态加载技术 284
14.2传说中的Ajax 290
14.2.1本质 291
14.2.2不同的异步实现 291
14.2.3 XMLHttpRequest 293
14.2.4 JSON 297
14.3上机练习 298
第15章 疯狂的小坦克 299
15.1即时战略游戏 300
15.2实现需求及功能描述 300
15.3组件开发 302
15.3.1开发流程 302
15.3.2框选技术 303
15.3.3元素的移动 314
15.4游戏核心——寻路算法 316
15.5游戏实现 324
15.6上机练习 327
第16章 深入认识JavaScript 329
16.1面向对象 330
16.1.1类 330
16.1.2继承 332
16.1.3原型扩展 334
16.2多线程 335
16.2.1内部机制 336
16.2.2 JavaScript实现多线程 339
16.3高效的开发 344
16.3.1提高开发速度 344
16.3.2提高运行速度 346
16.4上机练习 348
附录A 运算符的优先级和结合性 349
附录B 事件对象平台差异 351
附录C 常见事件的列表和描述 355
附录D HTTP响应码 361
附录E JavaScript的常用对象与函数 365
E.1 Global对象 365
E.2 Object对象 366
E.3 Function对象 367
E.4 Array对象 369
E.5 String对象 371
E.6 Boolean对象 374
E.7 Number对象 374
E.8 Date对象 376
附录F 常见CSS样式列表 383
附录G 严格模式的限制 405
附录H 选择器规则 407