篇 基础知识
章 零基础入门——熟悉JavaScript3
1.1 认识JavaScript4
1.1.1 什么是JavaScript4
1.1.2 JavaScript的特点4
1.1.3 JavaScript与Java的区别5
1.1.4 JavaScript版本6
1.2 JavaScript的编写工具7
1.2.1 记事本7
1.2.2 Dreamweaver CC8
1.3 JavaScript在HTML 5中的使用9
1.3.1 在HTML 5网页头中嵌入JavaScript代码9
1.3.2 在HTML 5网页中嵌入JavaScript代码10
1.3.3 在HTML 5网页的元素事件中嵌入JavaScript代码11
1.3.4 在HTML 5中调用已经存在的JavaScript文件12
1.3.5 通过JavaScript伪URL引入JavaScript脚本代码13
1.4 JavaScript和浏览器14
1.4.1 在Internet Explorer中调用JavaScript代码14
1.4.2 在Firefox中调用JavaScript代码14
1.4.3 在Opera中调用JavaScript代码15
1.4.4 浏览器中的文档对象类型(DOM)15
1.5 实战演练——一个简单的JavaScript示例15
1.6 疑难解惑16
第2章 读懂代码的前提——JavaScript 编程基础19
2.1 JavaScript的基本语法20
2.1.1 执行顺序20
2.1.2 区分大小写20
2.1.3 分号与空格20
2.1.4 对代码行进行折行21
2.1.5 注释21
2.1.6 语句22
2.1.7 语句块23
2.2 JavaScript的数据结构24
2.2.1 标识符24
2.2.2 关键字25
2.2.3 保留字25
2.2.4 常量26
2.2.5 变量26
2.3 看透代码中的数据类型28
2.3.1 typeof运算符28
2.3.2 未定义类型29
2.3.3 空值类型30
2.3.4 布尔类型30
2.3.5 数值类型31
2.3.6 字符串类型31
2.3.7 对象类型32
2.4 数据间的计算法则——运算符32
2.4.1 算术运算符33
2.4.2 比较运算符34
2.4.3 位运算符35
2.4.4 逻辑运算符36
2.4.5 条件运算符37
2.4.6 赋值运算符38
2.4.7 运算符的优先级39
2.5 JavaScript的表达式40
2.5.1 赋值表达式40
2.5.2 算术表达式41
2.5.3 布尔表达式42
2.5.4 字符串表达式43
2.5.5 类型转换43
2.6 实战演练——局部变量和全局变量的优先级44
2.7 疑难解惑46
第3章 改变程序执行方向——控制结构与语句47
3.1 基本处理流程48
3.2 赋值语句49
3.3 条件判断语句49
3.3.1 if语句49
3.3.2 if…else语句50
3.3.3 if…else if语句51
3.3.4 if语句的嵌套52
3.3.5 switch语句53
3.4 循环控制语句54
3.4.1 while语句55
3.4.2 do…while语句55
3.4.3 for循环56
3.5 跳转语句57
3.5.1 break语句57
3.5.2 continue语句58
3.6 使用对话框59
3.7 实战演练——简单易用的倒计时61
3.8 疑难解惑62
第4章 逻辑功能的代码组合——函数63
4.1 函数简介64
4.2 调用函数64
4.2.1 函数的简单调用64
4.2.2 在表达式中调用函数65
4.2.3 在事件响应中调用函数66
4.2.4 通过链接调用函数66
4.3 JavaScript中常用的函数67
4.3.1 嵌套函数67
4.3.2 递归函数68
4.3.3 内置函数69
4.4 实战演练——购物简易计算器76
4.5 疑难解惑78
第5章 对象与数组79
5.1 了解对象80
5.1.1 什么是对象80
5.1.2 面向对象编程81
5.1.3 JavaScript的内部对象82
5.2 对象访问语句83
5.2.1 for…in循环语句83
5.2.2 with语句84
5.3 JavaScript中的数组85
5.3.1 结构化数据85
5.3.2 创建和访问数组对象85
5.3.3 使用for…in语句88
5.3.4 Array对象的常用属性和方法88
5.4 详解常用的数组对象方法96
5.4.1 连接其他数组到当前数组96
5.4.2 将数组元素连接为字符串97
5.4.3 移除数组中最后一个元素97
5.4.4 将指定的数值添加到数组中98
5.4.5 反序排列数组中的元素99
5.4.6 删除数组中的个元素99
5.4.7 获取数组中的一部分数据100
5.4.8 对数组中的元素进行排序101
5.4.9 将数组转换成字符串102
5.4.10 将数组转换成本地字符串103
5.4.11 在数组开头插入数据103
5.5 创建和使用自定义对象104
5.5.1 通过构造函数定义对象104
5.5.2 通过对象直接初始化定义对象106
5.5.3 修改和删除对象实例的属性107
5.5.4 通过原型为对象添加新属性和新方法108
5.5.5 自定义对象的嵌套109
5.5.6 内存的分配和释放111
5.6 实战演练——利用二维数组创建动态下拉菜单112
5.7 疑难解惑113
第6章 日期与字符串对象115
6.1 日期对象116
6.1.1 创建日期对象116
6.1.2 Date对象属性117
6.1.3 日期对象的常用方法117
6.2 详解日期对象的常用方法120
6.2.1 返回当前日期和时间120
6.2.2 以不同的格式显示当前日期121
6.2.3 返回日期所对应的是星期几122
6.2.4 显示当前时间122
6.2.5 返回距1970年1月1日午夜的时间差123
6.2.6 以不同的格式来显示UTC日期124
6.2.7 根据世界时返回日期对应的是星期几125
6.2.8 以不同的格式来显示UTC时间125
6.2.9 设置日期对象中的年份、月份与日期值126
6.2.10 设置日期对象中的小时、分钟与秒钟值127
6.2.11 以UTC日期对Date对象进行设置128
6.2.12 返回当地时间与UTC时间的差值129
6.2.13 将Date对象中的日期转化为字符串格式130
6.2.14 返回一个以UTC时间表示的日期字符串130
6.2.15 将日期对象转化为本地日期131
6.2.16 日期间的运算131
6.3 字符串对象132
6.3.1 创建字符串对象132
6.3.2 字符串对象的常用属性133
6.3.3 字符串对象的常用方法134
6.4 详解字符串对象的常用方法135
6.4.1 设置字符串字体属性135
6.4.2 以闪烁方式显示字符串136
6.4.3 转换字符串的大小写136
6.4.4 连接字符串137
6.4.5 比较两个字符串的大小138
6.4.6 分割字符串139
6.4.7 从字符串中提取字符串139
6.5 实战演练1——制作网页随机验证码140
6.6 实战演练2——制作动态时钟142
6.7 疑难解惑143
第2篇 核心技术
第7章 数值与数学对象147
7.1 Number对象148
7.1.1 创建Number对象148
7.1.2 Number对象的属性148
7.1.3 Number对象的方法151
7.2 详解Number对象常用的方法152
7.2.1 把Number对象转换为字符串152
7.2.2 把Number对象转换为本地格式字符串153
7.2.3 四舍五入时指定小数位数153
7.2.4 返回以指数记数法表示的数值154
7.2.5 以指数记数法指定小数位154
7.3 Math对象155
7.3.1 创建Math对象155
7.3.2 Math对象的属性155
7.3.3 Math对象的方法157
7.4 详解Math对象常用的方法158
7.4.1 返回数的绝对值158
7.4.2 返回数的正弦值、正切值和余弦值158
7.4.3 返回数的反正弦值、反正切值和反余弦值160
7.4.4 返回两个或多个参数中的优选值或最小值162
7.4.5 计算指定数值的平方根163
7.4.6 数值的幂运算164
7.4.7 计算指定数值的对数165
7.4.8 取整运算165
7.4.9 生成0到1之间的随机数166
7.4.10 根据指定的坐标返回一个弧度值167
7.4.11 返回大于或等于指定参数的最小整数167
7.4.12 返回小于或等于指定参数的优选整数168
7.4.13 返回以e为基数的幂169
7.5 实战演练——使用Math对象设计程序170
7.6 疑难解惑171
第8章 JavaScript的调试与优化173
8.1 常见的错误和异常174
8.2 处理异常的方法175
8.2.1 用onerror事件处理异常175
8.2.2 用try…catch…finally语句处理异常177
8.2.3 使用throw语句抛出异常178
8.3 使用调试器179
8.3.1 IE浏览器内建的错误报告179
8.3.2 用Firefox错误控制台调试180
8.4 JavaScript语言调试技巧181
8.4.1 用alert()语句进行调试181
8.4.2 用write()语句进行调试181
8.5 JavaScript优化182
8.5.1 减缓代码下载时间182
8.5.2 合理声明变量183
8.5.3 使用内置函数缩短编译时间183
8.5.4 合理书写if语句183
8.5.5 最小化语句数量184
8.5.6 节约使用DOM184
8.6 疑难解惑185
第9章 文档对象模型与事件驱动187
9.1 文档对象模型188
9.1.1 认识文档对象模型189
9.1.2 文档对象的产生过程190
9.2 访问节点191
9.2.1 节点的基本概念191
9.2.2 节点的基本操作192
9.3 文档对象模型的属性和方法203
9.4 在DOM模型中获得对象205
9.5 疑难解惑206
0章 document对象209
10.1 文档对象概述210
10.2 文档对象的属性和方法210
10.2.1 文档对象的属性210
10.2.2 文档对象的方法211
10.3 文档对象的应用211
10.3.1 设置页面显示颜色211
10.3.2 网页锚点的设置215
10.3.3 窗体对象form的应用217
10.3.4 在文档中输出数据218
10.3.5 打开新窗口并输出内容220
10.3.6 引用文档中的表单和图片221
10.3.7 设置文档中的超链接223
10.4 实战演练——综合使用各种对话框224
10.5 疑难解惑226
1章 window对象227
11.1 了解window对象的属性和方法228
11.1.1 window对象的属性228
11.1.2 window对象的方法229
11.2 对话框229
11.2.1 警告对话框229
11.2.2 询问对话框231
11.2.3 提示对话框232
11.3 窗口操作234
11.3.1 打开窗口234
11.3.2 关闭窗口235
11.3.3 控制窗口状态栏236
11.4 实战演练——设置弹出窗口237
11.5 疑难解惑239
2章 事件处理241
12.1 了解事件与事件处理242
12.1.1 事件与事件处理概述242
12.1.2 JavaScript的常用事件242
12.1.3 事件处理程序的调用245
12.2 鼠标和键盘事件246
12.2.1 鼠标的单击事件246
12.2.2 鼠标的按下与松开事件247
12.2.3 鼠标的移入与移出事件248
12.2.4 鼠标的移动事件249
12.2.5 键盘事件250
12.3 JavaScript处理事件的方式251
12.3.1 匿名函数方式251
12.3.2 显式声明方式252
12.3.3 手工触发方式253
12.4 实战演练——通过事件控制文本框的背景颜色254
12.5 疑难解惑256
第3篇 不错应用
3章 JavaScript控制表单和样式表259
13.1 表单在JavaScript中的应用260
13.1.1 HTML表单基础260
13.1.2 编辑表单元素的脚本263
13.1.3 使用JavaScript获取网页内容实现数据验证268
13.2 DHTML简介269
13.3 前台动态网页效果270
13.3.1 动态内容270
13.3.2 动态样式271
13.3.3 动态定位272
13.3.4 显示与隐藏275
13.4 实战演练1——创建用户反馈表单276
13.5 实战演练2——控制表单背景色和文字提示277
13.6 疑难解惑279
4章 页面打印和浏览器检测281
14.1 使用WebBrowser组件的execWB()方法打印282
14.2 打印指定框架中的内容286
14.3 分页打印287
14.4 设置页眉/页脚290
14.5 浏览器检测对象293
14.5.1 浏览器对象的属性293
14.5.2 检测浏览器的名称与版本294
14.6 疑难解惑294
5章 Cookie的概念、常用方法和技巧295
15.1 Cookie概述296
15.1.1 设置Cookie296
15.1.2 保存Cookie数据299
15.2 Cookie的常见操作300
15.2.1 创建Cookie300
15.2.2 读取Cookie数据301
15.2.3 删除Cookie301
15.3 实战演练——在欢迎界面中设置和检查Cookie302
15.4 疑难解惑303
6章 JavaScript和Ajax技术305
16.1 Ajax快速入门306
16.1.1 什么是Ajax306
16.1.2 Ajax的关键元素309
16.1.3 CSS在Ajax应用中的地位309
16.2 Ajax的核心技术310
16.2.1 全面剖析XMLHttpRequest对象310
16.2.2 发出Ajax请求312
16.2.3 处理服务器响应313
16.3 实战演练1——制作自由拖放的网页315
16.4 实战演练2——制作加载条320
16.5 疑难解惑321
7章 JavaScript的优秀仓库—— jQuery323
17.1 jQuery概述324
17.1.1 jQuery能做什么324
17.1.2 jQuery的特点324
17.2 jQuery的配置325
17.3 jQuery选择器325
17.3.1 jQuery的工厂函数325
17.3.2 常见的选择器326
17.4 jQuery控制页面328
17.4.1 对标记的属性进行操作328
17.4.2 对表单元素进行操作330
17.5 jQuery的事件处理332
17.6 jQuery的动画效果333
17.7 实战演练——制作绚丽的多级动画菜单336
17.8 疑难解惑340
8章 JavaScript的安全性341
18.1 设置IE浏览器的安全区域342
18.2 JavaScript代码安全343
18.2.1 屏蔽部分按键343
18.2.2 屏蔽鼠标右键345
18.2.3 禁止网页另存为346
18.2.4 禁止复制网页内容346
18.3 实战演练——JavaScript代码加密348
18.4 疑难解惑349
第4篇 项目案例实战
9章 项目实训1——制作飞机大战游戏353
19.1 系统功能描述354
19.2 系统功能分析及实现354
19.2.1 功能分析354
19.2.2 功能实现354
19.2.3 程序运行362
第20章 项目实训2——设计企业门户类网页363
20.1 构思布局364
20.1.1 设计分析364
20.1.2 排版架构364
20.2 内容设计365
20.2.1 使用JavaScript技术实现Logo与导航菜单365
20.2.2 Banner区366
20.2.3 资讯区367
20.2.4 版权信息369
20.3 设置链接370
第21章 项目实训3——开发商品信息 展示系统371
21.1 项目需求分析372
21.2 项目技术分析373
21.3 系统的代码实现373
21.3.1 设计首页373
21.3.2 开发控制器类的文件375
21.3.3 开发数据模型类文件376
21.3.4 开发视图抽象类的文件378
21.3.5 项目中的其他js文件说明381