第一篇 基础篇 1
第1章 JavaScript基础 1
1.1 脚本语言的介绍 1
1.1.1 什么是脚本语言 1
1.1.2 脚本语言的分类 1
1.1.3 什么是JavaScript 1
1.1.4 JavaScript与JScript、VBScript、ECMAScript的区别 2
1.1.5 JavaScript与Java的区别 2
1.2 JavaScript的作用 2
1.3 Script的版本与支持 3
1.3.1 Script的版本 3
1.3.2 浏览器对JavaScript的支持 4
1.3.3 开启浏览器对JavaScript的支持 5
1.4 面向对象的语言 10
1.4.1 面向对象介绍 10
1.4.2 对象的操作 10
1.4.3 类、对象与对象实例 11
1.5 JavaScript编辑器 11
1.5.1 记事本 11
1.5.2 1st JavaScript Editor 11
1.5.3 Ultra Edit 32 12
1.5.4 Dreamweaver 12
1.6 在网页中加入JavaScript 13
1.6.1 使用〈script〉标签 13
1.6.2 简单的输出 14
1.6.3 注释 15
1.6.4 使用HTML的注释语句来标记JavaScript代码 16
1.6.5 浏览效果 16
1.7 〈script〉标记介绍 17
1.7.1 设置脚本语言名和版本 17
1.7.2 指定脚本语言的MIME类型 19
1.7.3 defer属性 19
1.7.4 包括外部的JavaScript文件 19
1.8 JavaScript的执行方式 21
1.8.1 直接执行 21
1.8.2 使用“javascript:”调用 21
1.8.3 与事件结合调用 22
1.9 注意事项 23
1.9.1 大小写敏感 23
1.9.2 空格与换行 23
1.9.3 可有可无的分号 23
1.10 小结 24
第2章 数据类型、常量与变量 25
2.1 基本数据类型 25
2.1.1 字符串型 25
2.1.2 数字型 25
2.1.3 布尔型 26
2.2 复合数据类型 26
2.2.1 对象 26
2.2.2 数组 26
2.3 其他数据类型 26
2.3.1 函数 26
2.3.2 null 27
2.3.3 undefined 27
2.4 数据类型的转换 27
2.4.1 隐式类型转换 27
2.4.2 显式类型转换 28
2.5 常量 29
2.5.1 整数常量 29
2.5.2 浮点常量 30
2.5.3 字符串常量 30
2.5.4 字符串中的转义字符 31
2.5.5 布尔常量 32
2.5.6 数组常量 32
2.6 变量 34
2.6.1 变量的命名方式 34
2.6.2 变量类型 34
2.6.3 定义变量 34
2.6.4 定义变量的注意事项 35
2.6.5 变量的值 37
2.6.6 变量的有效范围 37
2.6.7 使用变量的注意事项 39
2.7 保留字 44
2.7.1 JavaScript中的保留字 44
2.7.2 ECMA中的保留字 44
2.7.3 避免使用的字符串 45
2.8 小结 45
第3章 表达式与运算符 46
3.1 表达式 46
3.2 操作数 46
3.3 运算符介绍 47
3.3.1 运算符 47
3.3.2 操作数的类型 47
3.4 算术运算符 47
3.4.1 加法运算符 48
3.4.2 减法运算符 48
3.4.3 乘法运算符 48
3.4.4 除法运算符 49
3.4.5 模运算符 49
3.4.6 负号运算符 50
3.4.7 正号运算符 50
3.4.8 递增运算符 51
3.4.9 递减运算符 52
3.5 关系运算符 54
3.5.1 相等运算符 54
3.5.2 等同运算符 55
3.5.3 不等运算符 56
3.5.4 不等同运算符 57
3.5.5 小于运算符 59
3.5.6 大于运算符 59
3.5.7 小于或等于运算符 60
3.5.8 大于或等于运算符 61
3.5.9 in运算符 61
3.5.10 instanceof运算符 63
3.6 字符串运算符 64
3.7 赋值运算符 65
3.8 逻辑运算符 66
3.8.1 逻辑与运算符 66
3.8.2 逻辑或运算符 67
3.8.3 逻辑非运算符 67
3.9 逐位运算符 67
3.9.1 逐位与运算符 67
3.9.2 逐位或运算符 68
3.9.3 逐位异或运算符 69
3.9.4 逐位非运算符 70
3.9.5 左移运算符 71
3.9.6 带符号的右移运算符 72
3.9.7 用0补足的右移运算符 73
3.10 其他运算符 74
3.10.1 条件运算符 74
3.10.2 new运算符 75
3.10.3 void运算符 76
3.10.4 typeof运算符 77
3.10.5 对象属性存取运算符 78
3.10.6 数组元素存取运算符 79
3.10.7 delete运算符 80
3.10.8 逗号运算符 82
3.10.9 函数调用运算符 83
3.10.10 this运算符 84
3.11 运算符的优先级 85
3.12 小结 85
第4章 语句 86
4.1 表达式语句 86
4.2 语句块 86
4.3 选择语句 87
4.3.1 if语句 87
4.3.2 if...else语句 88
4.3.3 if...elseif...else语句 89
4.3.4 if...else if...语句 90
4.3.5 if语句的嵌套 91
4.3.6 switch语句 91
4.4 循环语句 93
4.4.1 while语句 93
4.4.2 do...while语句 94
4.4.3 for语句 96
4.4.4 for...in语句 98
4.5 跳转语句 98
4.5.1 break语句 99
4.5.2 continue语句 101
4.6 异常处理语句 103
4.6.1 throw语句 103
4.6.2 try...catch...finally语句 104
4.6.3 异常处理语句的综合应用 105
4.7 其他语句 106
4.7.1 标签语句 106
4.7.2 var语句 107
4.7.3 function语句 107
4.7.4 return语句 108
4.7.5 with语句 109
4.7.6 空语句 111
4.7.7 comment语句 112
4.8 小结 112
第5章 函数 113
5.1 函数介绍 113
5.1.1 什么是函数 113
5.1.2 定义函数 113
5.1.3 定义函数的注意事项 114
5.1.4 函数的嵌套定义 114
5.1.5 使用Function()构造函数 115
5.1.6 使用Function()构造函数与使用function语句的区别 116
5.1.7 在表达式中定义函数 117
5.1.8 三种定义函数方法的比较 117
5.2 调用函数 118
5.2.1 直接调用无返回值的函数 118
5.2.2 将函数的返回值赋给变量 119
5.2.3 将函数的返回值赋给对象属性或数组元素 120
5.2.4 综合应用 122
5.3 函数的参数 123
5.3.1 传递函数参数的注意事项 123
5.3.2 传递函数参数的个数和值 125
5.4 函数的递归调用 130
5.4.1 使用函数名的递归调用 130
5.4.2 使用callee属性的递归调用 130
5.5 函数的属性与方法 131
5.5.1 length属性:函数定义参数个数 131
5.5.2 prototype属性:引用原型对象 133
5.5.3 caller属性:判断函数调用情况 135
5.5.4 自定义属性 136
5.5.5 call()方法 137
5.5.6 apply()方法 138
5.6 系统函数 140
5.6.1 编码函数escape() 140
5.6.2 解码函数unescape() 141
5.6.3 求值函数eval() 141
5.6.4 数值判断函数isNaN() 142
5.6.5 整数转换函数parseInt() 143
5.6.6 浮点转换函数parseFloat() 144
5.7 小结 145
第6章 对象 146
6.1 对象介绍 146
6.1.1 对象的概念 146
6.1.2 对象的属性 147
6.1.3 对象的方法 147
6.2 创建对象 147
6.2.1 使用构造函数创建内置对象 147
6.2.2 直接创建自定义对象 148
6.2.3 使用自定义构造函数创建对象 148
6.3 对象的属性 150
6.3.1 设置对象的属性 150
6.3.2 存取对象属性值 151
6.3.3 属性的枚举 151
6.3.4 删除对象的属性 152
6.4 构造函数 153
6.4.1 创建简单的构造函数 153
6.4.2 创建有默认值的构造函数 154
6.4.3 创建有方法的构造函数 155
6.5 对象的原型与继承 156
6.5.1 对象与类 156
6.5.2 继承 156
6.5.3 对象自己的方法和属性 157
6.5.4 方法与属性的覆盖 157
6.5.5 原型对象 157
6.6 Object对象 160
6.6.1 创建Object对象 160
6.6.2 constructor属性:返回对象的构造函数 161
6.6.3 toString()方法:对象的字符串表示 163
6.6.4 toLocaleString()方法:返回对象的本地字符串表示 164
6.6.5 propertyIsEnumerable()方法:是否对象的自有属性 165
6.6.6 hasOwnProperty()方法:判断属性是否非继承的 166
6.6.7 isPrototypeOf()方法:判断是否原型对象 167
6.6.8 valueOf()方法:返回对象的原始值 168
6.7 其他系统对象 169
6.7.1 Arguments对象 169
6.7.2 布尔对象 169
6.7.3 日期对象 170
6.7.4 数字对象 181
6.7.5 数学对象 185
6.7.6 字符串对象 186
6.7.7 函数对象 194
6.7.8 Error对象 195
6.7.9 其他对象 198
6.8 小结 198
第7章 数组 199
7.1 数组介绍 199
7.1.1 数组的概念 199
7.1.2 数组元素 199
7.1.3 多维数组 199
7.2 定义数组 200
7.2.1 构造函数 200
7.2.2 定义一个空数组 200
7.2.3 通过指定数组长度定义数组 201
7.2.4 通过指定数组元素定义数组 201
7.2.5 直接定义数组 202
7.3 数组元素 202
7.3.1 存取数组元素 202
7.3.2 添加数组元素 203
7.3.3 删除数组元素 205
7.3.4 数组元素的个数 206
7.4 数组的方法 207
7.4.1 toString()方法:将数组转换为字符串 207
7.4.2 join()方法:将数组元素连接成字符串 208
7.4.3 push()方法:在数组尾部添加元素 208
7.4.4 concat()方法:添加元素并生成新数组 209
7.4.5 unshift()方法:在数组头部添元素 209
7.4.6 pop()方法:删除并返回数组的最后一个元素 210
7.4.7 shift()方法:删除并返回数组的第一个元素 211
7.4.8 splice()方法:删除、替换或插入数组元素 211
7.4.9 slice()方法:返回数组中的一部分 212
7.4.10 reverse()方法:颠倒数组中的元素 213
7.4.11 sort()方法:将数组元素排序 214
7.4.12 toLocaleString()方法:转换为当地字符串 215
7.5 小结 216
第二篇 实用篇 217
第8章 JavaScript对象层次与事件处理 217
8.1 JavaScript的对象层次 217
8.1.1 JavaScript对象模型 217
8.1.2 客户端对象层次介绍 217
8.1.3 浏览器对象模型 218
8.1.4 对象的引用 219
8.2 事件驱动与事件处理 221
8.2.1 事件与事件驱动 221
8.2.2 事件与处理代码关联 221
8.2.3 调用函数的事件 221
8.2.4 调用代码的事件 222
8.2.5 设置对象事件的方法 223
8.2.6 显式调用事件处理程序 225
8.2.7 事件处理程序的返回值 226
8.2.8 事件与this运算符 227
8.3 常用的事件 228
8.3.1 浏览器与事件 229
8.3.2 鼠标移动事件 229
8.3.3 鼠标单击事件 230
8.3.4 加载与卸载事件 231
8.3.5 得到焦点与失去焦点事件 232
8.3.6 键盘事件 233
8.3.7 提交与重置事件 234
8.3.8 选择与改变事件 235
8.4 小结 236
第9章 窗口与框架 237
9.1 Window对象 237
9.1.1 Window对象介绍 237
9.1.2 Window对象的使用方法 237
9.1.3 Window对象的属性 238
9.1.4 Window对象的方法 238
9.1.5 Window对象的事件 239
9.2 Window对象事件 239
9.2.1 装载文档 239
9.2.2 卸载文档 242
9.2.3 得到焦点与失去焦点 244
9.2.4 调整窗口大小 245
9.2.5 错误处理 245
9.3 对话框 248
9.3.1 警告框 248
9.3.2 确认框 249
9.3.3 提示框 251
9.4 状态栏 252
9.4.1 状态栏介绍 252
9.4.2 默认状态栏信息 253
9.4.3 状态栏瞬间信息 253
9.5 窗口操作 254
9.5.1 新开窗口 254
9.5.2 窗口名字 260
9.5.3 关闭窗口 260
9.5.4 窗口的引用 263
9.5.5 窗口聚焦 267
9.5.6 滚动文档 269
9.5.7 移动窗口 270
9.5.8 调整窗口大小 271
9.6 超时与时间间隔 272
9.6.1 延迟执行代码 272
9.6.2 周期性执行代码 273
9.6.3 停止周期性执行代码 274
9.6.4 取消延迟执行 276
9.7 框架操作 277
9.7.1 框架介绍 277
9.7.2 框架的数量 278
9.7.3 父窗口与子窗口 278
9.7.4 窗口之间的关系 280
9.7.5 窗口名字 284
9.8 Window对象的子对象 285
9.8.1 Document对象 285
9.8.2 History对象 285
9.8.3 Location对象 285
9.8.4 Math对象 285
9.8.5 Navigator对象 285
9.8.6 Screen对象 286
9.9 IE浏览器中的方法和属性 286
9.9.1 IE浏览器中的方法 286
9.9.2 IE浏览器中的属性 286
9.10 Netscape浏览器中的方法和属性 286
9.10.1 Netscape浏览器中的方法 286
9.10.2 Netscape浏览器中的属性 287
9.10.3 Netscape浏览器中的事件 287
9.11 小结 287
第10章 屏幕对象与浏览器对象 288
10.1 屏幕对象 288
10.1.1 屏幕对象属性 288
10.1.2 客户端显示器屏幕分辨率 288
10.1.3 客户端显示器屏幕的有效宽度和高度 289
10.1.4 颜色深度 290
10.1.5 综合应用 291
10.2 浏览器对象 292
10.2.1 浏览器对象属性 292
10.2.2 浏览器对象的子对象 295
10.2.3 浏览器对象的方法 300
10.3 小结 301
第11章 历史对象与地址对象 302
11.1 历史对象 302
11.1.1 历史对象的属性 302
11.1.2 历史对象的方法 303
11.1.3 前进与后退 303
11.1.4 跳转 304
11.2 地址对象 305
11.2.1 URL介绍 305
11.2.2 地址对象的属性 307
11.2.3 地址对象属性的应用:加载新网页 309
11.2.4 地址对象属性的应用:获取参数 311
11.2.5 地址对象的方法 313
11.2.6 地址对象方法的应用:刷新文档 314
11.2.7 地址对象方法的应用:加载新文档 316
11.3 小结 316
第12章 文档对象 317
12.1 文档对象概述 317
12.1.1 文档对象介绍 317
12.1.2 文档对象的属性 317
12.1.3 文档对象的方法 319
12.1.4 文档中对象的引用方法 319
12.2 文档对象的应用 321
12.2.1 设置超链接的颜色 321
12.2.2 设置网页背景颜色和默认文字颜色 322
12.2.3 文档信息 323
12.2.4 在标题栏中显示滚动信息 324
12.2.5 防止盗链 325
12.2.6 在网页中输出内容 326
12.2.7 在其他文档中输出内容 331
12.2.8 输出非HTML文档 333
12.2.9 文档中的所有HTML元素 335
12.2.10 引用文档中的HTML元素 336
12.2.11 引用文档元素中的子元素 337
12.2.12 其他文档信息 340
12.3 图像对象 341
12.3.1 图像对象介绍 341
12.3.2 图像对象的属性 342
12.3.3 图像对象的事件 342
12.3.4 显示图片的信息 343
12.3.5 置换图片 344
12.3.6 随机图片 345
12.3.7 动态改变图片大小 346
12.3.8 缓存图片 348
12.3.9 图像对象的load事件 349
12.3.10 显示默认图片 351
12.4 链接对象 351
12.4.1 链接对象的属性 352
12.4.2 链接对象的事件 352
12.4.3 查看一个网页上的所有超链接 353
12.4.4 翻页程序 353
12.4.5 网站目录 356
12.5 锚对象 357
12.5.1 锚对象属性 357
12.5.2 锚对象与链接对象的区别 357
12.5.3 创建文档索引 359
12.6 小结 361
第13章 表单对象 362
13.1 表单对象概述 362
13.1.1 表单对象介绍 362
13.1.2 表单对象的属性 362
13.1.3 表单对象的方法 363
13.1.4 表单对象的事件 363
13.2 表单对象的应用 363
13.2.1 表单验证 363
13.2.2 循环验证表单 365
13.2.3 设置表单的提交方式 366
13.2.4 重置表单的提示 368
13.2.5 不使用提交按钮提交表单 369
13.3 表单元素 370
13.3.1 表单元素概述 370
13.3.2 表单元素的命名 371
13.4 文本框 372
13.4.1 文本框的创建方式 372
13.4.2 文本框的属性 373
13.4.3 文本框的方法 374
13.4.4 文本框的事件 374
13.4.5 限制文本框中输入的字数 375
13.4.6 自动选择文本框中的文字 380
13.5 按钮 382
13.5.1 按钮的创建方式 382
13.5.2 按钮的属性 384
13.5.3 按钮的方法 384
13.5.4 按钮的事件 384
13.5.5 网页调色板 385
13.5.6 改变多行文本框大小 386
13.6 单选按钮和复选框 387
13.6.1 创建单选按钮和复选框 387
13.6.2 单选按钮和复选框的属性 388
13.6.3 单选按钮和复选框的方法 388
13.6.4 单选按钮和复选框的事件 389
13.6.5 设置单选按钮组与复选框组 389
13.6.6 设置单选按钮与复选框的默认选项 390
13.6.7 Form对象与Radio对象、Checkbox对象 391
13.6.8 组与选项 391
13.6.9 获取单选按钮与复选框的值 393
13.6.10 限制复选框的选择项数 394
13.7 下拉列表框 396
13.7.1 创建下拉列表框 396
13.7.2 下拉列表框的属性 397
13.7.3 下拉列表框的方法 398
13.7.4 下拉列表框的事件 398
13.7.5 选项对象 399
13.7.6 选项对象的属性 401
13.7.7 同时显示多行的下拉列表框 402
13.7.8 可以同时选择多个选项的下拉列表框 404
13.7.9 利用下拉列表框翻页 405
13.7.10 简单的选课程序 406
13.7.11 二级联动菜单 408
13.8 文件上传框 411
13.8.1 创建文件上传框 411
13.8.2 文件上传框的属性 413
13.8.3 文件上传框的方法 413
13.8.4 文件上传框的事件 413
13.8.5 使用文件上传框的注意事项 414
13.8.6 图片预览 414
13.9 隐藏域 415
13.9.1 创建隐藏域 416
13.9.2 隐藏域的属性 416
13.9.3 输入提示 417
13.10 Fieldset元素 417
13.10.1 创建分组 417
13.10.2 描述分组信息 419
13.11 小结 420
第14章 cookie 421
14.1 cookie介绍 421
14.1.1 什么是cookie 421
14.1.2 cookie的作用 421
14.2 创建与读取cookie 421
14.3 获取cookie的值 423
14.4 cookie的编码 425
14.5 cookie的生存期 426
14.6 cookie的路径 429
14.7 cookie的domain 432
14.8 cookie的secure 433
14.9 使用cookie的注意事项 434
14.10 小结 435
第三篇 Ajax篇 437
第15章 Ajax介绍 437
15.1 传统的Web技术 437
15.2 Ajax技术原理 437
15.3 Ajax技术的优缺点 438
15.4 Ajax技术的组成部分 439
15.4.1 JavaScript 439
15.4.2 XMLHttpRequest 439
15.4.3 CSS 439
15.4.4 DOM 439
15.4.5 XML 440
15.5 XMLHttpRequest对象 440
15.5.1 XMLHttpRequest的方法 440
15.5.2 XMLHttpRequest的属性 440
15.5.3 XMLHttpRequest的事件 442
15.6 实现Ajax 442
15.6.1 实现Ajax的步骤 442
15.6.2 创建XMLHttpRequest对象 443
15.6.3 创建HTTP请求 444
15.6.4 设置响应HTTP请求状态变化的函数 445
15.6.5 设置获取服务器返回数据的语句 446
15.6.6 发送HTTP请求 446
15.6.7 局部更新 447
15.6.8 一个完整的Ajax实例 449
15.7 小结 451
第16章 深入Ajax 452
16.1 客户端脚本语言 452
16.1.1 使用JavaScript的局部刷新技术 452
16.1.2 使用Iframe的局部刷新技术 453
16.2 服务器脚本语言 454
16.2.1 改进的Iframe局部刷新 455
16.2.2 Ajax与服务器互动 456
16.3 文档对象模型 459
16.4 层叠样式表 463
16.5 XML 465
16.6 小结 468