
本书根据JavaScript在各种类型的应用开发中(如B2B、B2C、C2C)的使用情况,有针对性地安排了丰富的案例,从基本的表格操作、表单操作,到构建浏览器端的富文本编辑器,再到实现如Windows那样的复杂UI的操作,每一个案例都能让读者从中学习到主流的JavaScript开发技巧。
针对初学者,本书也讲解了JavaScript的基本语法,所以即使没有任何编程语言基础,读者也能够明白JavaScript的运行机制。针对有其他编程语言基础的读者,书中还介绍了JavaScript的高级用法,让这个被称为“脚本”的语言,也能像其他编程语言(如C/C++、Java)一样实现复杂的操作,甚至在浏览器中实现一个通常只能出现在桌面程序中的游戏。
本书不仅是JavaScript爱好者自学的首选用书,同时也非常适合作为大中专院校及社会培训机构的教学用书。
目 录
第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