第1章 JavaScript程序概述 1
1.1 学习JavaScript程序设计 1
1.2 JavaScript简介 2
1.3 开发JavaScript立用程序 5
【课堂案例1-1】:第1个JavaScript程序 7
第2章 程序的构成——函数 10
2.1 函数的使用 10
【课堂案例2-1】:在网页上输出消息 10
【课堂案例2-2】:在网页上显示图片 11
【课堂案例2-3】:在网页中播放视频,显示视频信息 12
2.2 数的参数 13
【课堂案例2-4】:使用参数传递姓氏和名字,在网页上输出姓名 14
【课堂案例2-5】:定义函数area(),用于计算矩形面积 15
【课堂案例2-6】:按照参数显示图片 16
2.3 数的返回值 17
【课堂案例2-7】:计算任意3个数的平均值 17
【课堂案例2-8】:测试return语句功能 18
【课堂案例 2-9】:制作简易杏仁巧克力 19
【课堂案例2-10】:计算实发工资 21
2.4 函数的嵌套定义 21
【课堂案例 2-11】:计算两个圆的面积之和 22
2.5 高级函数特性 22
【课堂案例2-12】:调用匿名函数 22
【课堂案例2-13】:使用匿名函数限制变量的作用域 24
【课堂案例2-14】:使用闭包(closure)特性调整页面的字号 25
【课堂案例2-15】:数组作参数,计算购物总金额 28
【课堂案例2-16】:使用参数对象Arguments来计算任意n个数的和 29
【课堂案例2-17】:使用函数对象编写函数测试页面 30
【课堂案例2-18】:使用函数递归,输出递增的数字序列 32
2.6 本章练习 33
第3章 JavaScript语言基础 37
3.1 基本数据类型 37
【课堂案例3-1】:数据类型测试及转换 40
3.2 变量和常量 41
【课堂案例3-2】:变量的定义和使用 41
【课堂案例3-3】:变量的赋值 42
【课堂案例3-4】:变量的作用域 43
【课堂案例3-5】:使用常量PI,转换角度与弧度 45
3.3 运算符和表达式 46
【课堂案例3-6】:算术运算符使用示例 46
【课堂案例3-7】:赋值运算符使用示例 48
【课堂案例3-8】:使用关系运算符、条件运算符判断用户输入的年龄 50
【课堂案例3-9】:逻辑运算符使用示例 51
【课堂案例3-10】:字符串运算符示例 52
【课堂案例3-11】:位运算符示例 53
【课堂案例3-12】:使用typeof运算符检测数据类型 55
3.4 本章练习 55
第4章 JavaScript语句 59
4.1 JavaScript语句和基本程序结构 59
4.2 选择语句 60
【课堂案例4-1】:使用单分支if语句判断两个数字中的较大数 60
【课堂案例4-2】:使用if语句将两个数字按从小到大的顺序输出 61
【课堂案例4-3】:使用if语句检查参数值的有效性 62
【课堂案例4-4】:使用if...else语句计算数字的绝对值 62
【课堂案例4-5】:使用if...else语句判断成绩是否及格 63
【课堂案例4-6】:使用if嵌套删除文件(伪代码) 65
【课堂案例4-7】:使用switch语句查询简单的日程表 66
4.3 循环语 68
【课堂案例4-8】:使用while语句输出递增的数字序列 68
【课堂案例4-9】:使用while语句在网页上显示一组图片 69
【课堂案例4-10】:使用do...while语句计算100到 500之间所有整数的和 70
【课堂案例4-11】:使用do...while语句计算m到n之间所有偶数的和 71
【课堂案例4-12】:使用for语句输出1到n之间所有的整数 72
4.4 循环控制语句 73
【课堂案例4-13】:使用break语句计算最小公倍数 73
【课堂案例4-14】:continue语句演示 74
4.5 循环嵌套 74
【课堂案例4-15】:使用二重循环嵌套在页面上显示五子棋棋盘 75
4.6 异常处理 76
【课堂案例4-16】:使用throw语句抛出异常 76
【课堂案例4-17】:使用try...catch()...finally处理异常 77
4.7 本章练习 79
第5章 基于原型的面向对象编程 86
5.1 对象编程概述 86
5.2 自定义对象的创建和使用 87
【课堂案例5-1】:使用Object创建自定义对象book,用于描述图书信息 87
【课堂案例5-2】:使用Object创建自定义对象calc,用于简单数学计算 88
【课堂案例5-3】:使用构造函数创建自定义对象phone,用于描述电话信息 89
【课堂案例5-4】:创建图片对象,使用this访问对象自身的属性和方法 90
【课堂案例5-5】:使用with简化对象操作 91
【课堂案例5-6】:使用instanceof运算符判断对象类型 93
【课堂案例5-7】:使用instanceof运算符检查参数的类型 94
【课堂案例5-8】:使用for...in循环遍历对象成员 95
【课堂案例5-9】:使用私有对象属性实现数据隐藏 96
【课堂案例5-10】:为属性添加赋值方法(Setter)和取值方法(Getter) 97
【课堂案例5-11】:使用原型(prototype)扩展对象类型 99
5.3 对象继承 100
【课堂案例5-12】:使用call()方法实现对象继承 100
【课堂案例5-13】:使用原型链(Prototype Chain)实现对象继承 101
5.4 定义对象的不同方式 103
【课堂案例5-14】:使用工厂函数方式创建对象 103
【课堂案例5-15】:使用混合的构造函数/原型方式创建对象 104
【课堂案例5-16】:使用动态原型方式创建对象 106
5.5 本章练习 107
第6章 本地对象 109
6.1 本地对象概述 109
6.2 Boolean对象 109
【课堂案例6-1】:比较布尔值与布尔对象的区别 110
【课堂案例6-2】:复制布尔对象 111
6.3 Number对象 112
【课堂案例6-3】:使用Number对象获取数值极限 113
【课堂案例6-4】:将数字转换成字符串 113
【课堂案例6-5】:设置数值精确度 114
【课堂案例6-6】:数值进制转换 115
6.4 String对象 116
【课堂案例6-7】:合成新的字符串 118
【课堂案例6-8】:显示字符串的Unicode编码 119
【课堂案例6-9】:截取字符串内容 119
【课堂案例6-10】:在字符串中精确查找指定内容 121
【课堂案例6-11】:在字符串中进行模糊查找 122
【课堂案例6-12】:精确查找替换字符串内容 123
【课堂案例6-13】:将字符串分割成数组,提取英文句子中前3个单词 124
【课堂案例6-14】:转换字母大小写 125
【课堂案例6-15】:为字符串添加样式 126
6.5 RegExp对象 127
【课堂案例6-16】:使用正则表达式替换字符串中的文本 128
【课堂案例6-17】:使用正则表达式验证电子邮箱格式 129
【课堂案例6-18】:使用正则表达式交换单词的位置 130
6.6 Array对象 131
【课堂案例6-19】:使用Array对象创建数组 132
【课堂案例6-20】:使用for...in循环遍历数组,并找到最大值 133
【课堂案例6-21】:对数组进行排序 134
【课堂案例6-22】:使用Array提供的方法添加、删除或替换数组元素 135
【课堂案例6-23】:将数组转换成字符串 136
【课堂案例6-24】:使用现有数组元素生成新数组 137
【课堂案例6-25】:使用回调函数处理数组元素 139
【课堂案例6-26】:使用二维数组 141
6.7 Math对象 143
【课堂案例6-27】:使用Math对象完成数学计算1 144
【课堂案例6-28】:使用Math对象完成数学计算2 144
6.8 Date对象 146
【课堂案例6-29】:创建Date对象 148
【课堂案例6-30】:使用Date对象计算程序运行时间 150
【课堂案例6-31】:使用Date对象的方法设置/获取日期时间信息 151
6.9 Error对象 152
【课堂案例6-32】:使用自定义Error对象抛出异常 153
【课堂案例6-33】:处理系统抛出的异常 154
6.1 0全局对象 155
【课堂案例6-34】:使用全局方法 156
6.1 1本章练习 157
第7章 浏览器对象模型(BOM) 167
7.1 浏览器对象模型概述 167
7.2 window对象 168
【课堂案例7-1】:获取浏览器窗口的位置和大小 169
【课堂案例7-2】:控制浏览器窗口的位置和大小 170
【课堂案例7-3】:使用模式对话框 173
【课堂案例7-4】:制作简单的数字时钟 175
【课堂案例7-5】:在网页中实现滚动屏幕功能 176
7.3 navigator对象 178
【课堂案例7-6】:获取浏览器及操作系统的相关信息 179
【课堂案例7-7】:获取当前浏览器安装的插件信息 180
7.4 location对象 181
【课堂案例7-8】:获取浏览器URL的相关信息 182
【课堂案例7-9】:使用location对象实现页面跳转和刷新 182
【课堂案例7-10】:创建页面导航 184
7.5 history对象 186
【课堂案例7-11】:访问历史记录中的URL 186
7.6 screen对象 187
【课堂案例7-12】:获取用户屏幕信息 188
【课堂案例7-13】:根据用户屏幕信息切换网页显示效果 189
7.7 本章练习 190
第8章 HTML文档对象模型(DOM) 192
8.1 文档对象模型概述 192
8.2 DOM核心接口 196
【课堂案例8-1】:获取DOM树中的节点信息 200
【课堂案例8-2】:删除DOM树中的节点 202
【课堂案例8-3】:在DOM树中添加子节点 203
【课堂案例8-4】:替换DOM树中的节点 205
【课堂案例8-5】:复制DOM树中的节点 206
【课堂案例8-6】:获取节点的属性 207
【课堂案例8-7】:控制文本节点 209
【课堂案例8-8】:提取网页中的超链接地址 211
8.3 DOM HTML 212
【课堂案例8-9】:获取文档信息 215
【课堂案例8-10】:修改文档中的链接 216
【课堂案例8-11】:操作文档中的表格 217
【课堂案例8-12】:获取文本框中用户输入的内容 220
【课堂案例8-13】:获取单选框用户选择的内容 221
【课堂案例8-14】:获取复选框用户选择的内容 222
【课堂案例8-15】:控制下拉菜单 223
【课堂案例8-16】:判断用户选取的文件类型 225
【课堂案例8-17】:限制用户使用表单元素 226
【课堂案例8-18】:验证表单数据 227
【课堂案例8-19】:为所有段落加边框 228
【课堂案例8-20】:选项卡效果 230
【课堂案例8-21】:Web相册 231
【课堂案例8-22】:修改网页背景色 234
【课堂案例8-23】:显示/隐藏页面元素 235
【课堂案例8-24】:覆盖显示图片 236
【课堂案例8-25】:在网页中绘图1 238
【课堂案例8-26】:在网页中绘图2 239
8.4 本章练习 240
第9章 事件(Event)处理 245
9.1 事件处理概述 245
9.2 基于 HTML属性的事件处理方法 245
【课堂案例9-1】:文档事件 246
【课堂案例9-2】:鼠标事件 248
【课堂案例9-3】:获得/失去焦点事件 249
【课堂案例9-4】:键盘事件 250
【课堂案例9-5】:onchange事件 250
【课堂案例9-6】:使用this作参数 251
【课堂案例9-7】:为事件设置响应函数 252
9.3 DOM EVENT事件处理 253
【课堂案例9-8】:注册事件监听器,设置背景图片 256
【课堂案例9-9】:注册多个事件监听器,实现简易加法计算器 257
【课堂案例9-10】:事件指派 258
【课堂案例9-11】:显示鼠标位置 259
【课堂案例9-12】:创建快捷菜单,缩放图片 261
【课堂案例9-13】:创建快捷菜单,缩放图片 262
9.4 本章练习 265
第10章 常用的数据交换格式和数据存储技术 267
10.1 XML文档 267
【课堂案例10-1】:同步访问XML文档,获取图书信息 269
【课堂案例10-2】:异步访问XML文档,设置段落样式 270
【课堂案例10-3】:XML生成树状菜单 272
10.2 JSON 274
【课堂案例10-4】:使用JSON对象 274
【课堂案例10-5】:访问JSON对象中的对象 276
【课堂案例10-6】:使用JSON数组 276
【课堂案例10-7】:访问JSON对象数组 277
103数据存储 278
【课堂案例10-8】:使用cookie存储用户账户信息 278
【课堂案例10-9】:使用localStorage存储数据 280
【课堂案例10-10】:使用sessionStorage存储数据 282
10.3 本章练习 284
第11章 综合练习——服饰设计网站 286
11.1 网站整体说明 286
11.2 JavaScript程序说明 287