译者序
作者介绍
前言
第一部分 JavaScript入门
第1章 JavaScript与WWW
1.1 介绍JavaScript
1.2 十条JavaScript常识
1.2.1 JavaScript可以嵌入在HTML中
1.2.2 JavaScript依赖环境
1.2.3 JavaScript是一种解释型语言
1.2.4 JavaScript是一种松类型语言
1.2.5 JavaScript是一种基于对象的语言
1.2.6 JavaScript是事件驱动的
1.2.7 JavaScript不是Java
1.2.8 JavaScript是多功能的
1.2.9 JavaScript在进化
1.2.10 JavaScript超越环境
1.3 WWW的四个阶段
1.3.1 第一阶段:基于字符的超文本
1.3.2 第二阶段:基于图形的静态HTML文档
1.3.3 第三阶段:动态HTML文档
1.3.4 第四阶段:活动HTML文档
1.4 Web应用程序框架
1.4.1 客户端
1.4.2 服务器端
1.5 使用JavaScript能做什么
1.5.1 客户端应用
1.5.2 数据有效性校验
1.5.3 创建交互表格
1.5.4 客户端表查询
1.5.5 状态维护
1.5.6 与Java小程序、ActiveX控件及插件协作
1.6 浏览器对JavaScript的支持
1.6.1 Netscape Navigator
1.6.2 Microsoft Internet Explorer
1.6.3 其他浏览器
1.7 比较JavaScript与VBScript
1.7.1 什么是VBScript
1.7.2 VBScript编程
1.8 小结
第2章 JavaScript与HTML的协作
2.1 介绍HTML基础知识
2.1.1 当前的形势
2.1.2 HTML基础知识
2.1.3 HTML文档结构
2.1.4 属性概括
2.2 在HTML中嵌入JavaScript
2.2.1 理解<Script>标签的属性
2.2.2 查看JavaScript代码
2.3 创建JavaScript代码
2.3.1 执行脚本
2.3.2 适应不支持的浏览器
2.3.3 编写代码
2.3.4 执行脚本
2.4 小结
第3章 组装JavaScript工具箱
3.1 必要工具概述
3.1.1 JavaScript编辑器
3.1.2 HTML编辑器
3.1.3 Web浏览器
3.1.4 脚本跟踪调试器
3.2 JavaScript开发过程
3.3 服务器端JavaScript工具
3.3.1 Netscape的服务器端JavaScript
3.3.2 Borland IntraBuilder
3.4 小结
第4章 编写第一个脚本程序
4.1 快速回忆
4.2 准备工作
4.2.1 想支持什么浏览器
4.2.2 如何处理非JavaScript浏览器
4.2.3 内嵌它还是用Src属性
4.2.4 目标是什么
4.3 编写脚本过程
4.3.1 确定目标
4.3.2 创建一个代码模板
4.3.3 处理不支持的浏览器
4.3.4 编写代码
4.3.5 调用函数
4.4 脚本说明
4.5 小结
第二部分 核心JavaScript语言
第5章 JavaScript语言基础知识
5.1 概述
5.2 JavaScript怎样与CGI、插件以及Java发生联系
5.2.1 CGI
5.2.2 插件
5.2.3 Java
5.3 向HTML文档中嵌入脚本
5.4 事件
5.5 语法细节
5.5.1 JavaScript的版本
5.5.2 语言符号
5.5.3 变量
5.5.4 常量
5.5.5 颜色
5.5.6 数据类型
5.5.7 表达式
5.5.8 注释
5.5.9 函数
5.6 小结
第6章 运算符
6.1 赋值运算符
6.2 算术运算符
6.3 比较运算符
6.4 字符串运算符
6.5 条件运算符
6.6 布尔运算符
6.7 typeof运算符
6.8 函数运算符
6.9 数据结构运算符
6.10 按位运算符
6.10.1 按位逻辑运算符
6.10.2 移位运算符
6.10.3 为什么对位进行运算
6.11 运算符优先级
6.12 小结
第7章 控制结构和循环
7.1 条件语句
7.1.1 if语句
7.1.2 if…else语句
7.1.3 try…catch语句
7.2 循环语句
7.2.1 for语句
7.2.2 for…in语句
7.2.3 while语句
7.2.4 do…while语句
7.2.5 break和continue
7.3 Label语句
7.4 With语句
7.5 Switch语句
7.6 小结
第8章 函数
8.1 了解JavaScript函数
8.1.1 创建函数
8.1.2 在何处声明函数
8.1.3 调用函数
8.2 使用参数
8.2.1 改变参数个数
8.2.2 使用全局和局部变量
8.2.3 按引用传递对象
8.3 关于函数的更多信息
8.3.1 重用函数
8.3.2 递归函数
8.4 小结
第9章 客户端对象
9.1 了解对象
9.1.1 对象
9.1.2 封装
9.1.3 消息
9.1.4 类
9.2 JavaScript对象
9.2.1 点标志法
9.2.2 研究JavaScript对象模型
9.2.3 JavaScript中的包含关系
9.2.4 属性
9.2.5 方法
9.2.6 事件
9.3 对象分解
9.3.1 Navigator对象
9.3.2 Window对象
9.3.3 顶层对象
9.3.4 第二级对象
9.3.5 三级对象
9.3.6 四级对象
9.4 小结
第10章 核心语言对象
10.1 Global对象
10.2 String对象
10.2.1 一个字符串操作的例子
10.2.2 格式化字符串
10.2.3 处理特殊字符
10.2.4 转换字符串和数字
10.3 RegExp对象
10.4 Array对象
10.5 Date对象
10.6 Math对象
10.7 Boolean对象
10.8 Number对象
10.9 Function对象
10.10 小结
第11章 创建定制的JavaScript对象
11.1 创建一个对象
11.2 实例化对象
11.3 处理对象实例
11.4 创建复杂对象
11.5 动态创建对象
11.6 扩充实例化对象
11.7 小结
第12章 服务器端JavaScript
12.1 使用客户/服务器体系结构
12.1.1 基于Web的客户/服务器
12.1.2 客户机/服务器通信
12.1.3 session管理
12.2 开发眼务器端JavaScript应用程序
12.2.1 创建源文件
12.2.2 准备应用程序
12.2.3 故障查找
12.3 了解核心服务器端对象
12.3.1 server对象
12.3.2 Project对象
12.3.3 client对象
12.3.4 Request对象
12.3.5 Lock对象
12.3.6 File对象
12.3.7 SendMail对象
12.3.8 数据库特有的对象
12.4 小结
第三部分 文档对象模型
第13章 文档对象模型脚本基础
13.1 了解文档对象模型
13.2 导航一张表
13.3 操作文档
13.4 导航文档
13.5 小结
第14章 处理事件
14.1 了解事件和事件处理器
14.2 JavaScript事件处理器
14.2.1 点击一个对象(onClick)
14.2.2 提交一个窗体(onSubmit)
14.2.3 重置一个窗体(onReset)
14.2.4 修改数据(onChange)
14.2.5 收到焦点(onFocus)
14.2.6 失去焦点(onBlur)
14.2.7 选择文本(onSelect)
14.2.8 将鼠标移到对象上(onMouseOver和onMouseOut)
14.2.9 装入一个文档(onload)
14.2.10 退出一个文档(onUnLoad)
14.3 处理错误(onError)
14.4 退出图像装入(onAbort)
14.5 改变事件处理器
14.6 在代码中触发事件
14.7 计时器事件
14.8 小结
第15章 窗口对象
15.1 Windows对象
15.2 打开和关闭窗口
15.2.1 引用窗口
15.2.2 指定窗口内容
15.2.3 指定窗口属性
15.2.4 关闭窗口
15.3 在窗口间导航
15.3.1 间接焦点
15.3.2 直接焦点
15.3.3 移走焦点
15.4 显示消息框
15.4.1 简单通知
15.4.2 是/否确认
15.4.3 用户输入
15.5 使用状态栏消息
15.6 小结
第16章 文档对象
16.1 Document对象
16.1.1 编程创建HTML文档
16.1.2 改变文档颜色
16.2 Link对象
16.2.1 引用Link对象
16.2.2 执行链接内的JavaScript代码
16.3 Anchor对象
16.4 Image对象
16.5 小结
第17章 窗体对象
17.1 Form对象
17.1.1 向服务器提交窗体
17.1.2 检查一个窗体的元素
17.2 Text对象
17.2.1 为一个Text对象赋一个默认值
17.2.2 选择焦点上的文本
17.2.3 用Textarea对象捕获数据
17.2.4 在一个Textarea象中换行文本
17.3 Button对象:Submit,Reset和Button
17.4 Checkbox对象
17.5 Radio对象
17.6 Select对象
17.6.1 创建一个选择列表
17.6.2 创建一个滚动列表
17.6.3 创建一个多选列表
17.6.4 判断被选择选项的值或文本
17.6.5 判断多选列表的值
17.6.6 用JavaScript选择一个选项
17.7 Password对象
17.8 Hidden对象
17.9 小结
第18章 帧对象
18.1 Frame对象
18.1.1 创建帧
18.1.2 向帧添加JavaScript代码
18.1.3 同步帧
18.1.4 更新帧
18.1.5 为图像映射帧编写脚本
18.1.6 使用帧URL
18.1.7 引用帧
18.1.8 子帧到父帧
18.2 Location对象
18.2.1 打开一个新URL
18.2.2 使用protocol属性
18.3 History对象
18.3.1 判断表的大小
18.3.2 导航历史列表
18.4 Navigator对象
18.5 小结
第19章 其他DOM对象
19.1 DOM浏览器
19.2 DOM文档操作和DOM方法
19.2.1 使用cloneNode方法
19.2.2 对DOM使用insertBefore方法
19.2.3 使用swapNode方法
19.2.4 使用removeNode方法
19.3 小结
第四部分 动态HTML编程技术
第20章 滚过
20.1 了解事件
20.1.1 onMouseOver
20.1.2 onMouseOut
20.1.3 onMouseDown
20.1.4 onMouseup
20.2 滚过的类型
20.2.1 图像滚过
20.2.2 层滚过
20.3 小结
第21章 可视化效果
21.1 滚动字幕
21.2 广告板
21.3 颜色渐变
21.4 动画的按钮
21.5 小结
第22章 级联样式单
22.1 基本的样式单概念
22.1.1 标准
22.1.2 继承
22.1.3 边距与填充
22.1.4 注释
22.2 在文档中使用样式
22.2.1 定义样式
22.2.2 应用样式
22.2.3 混合选择器
22.2.4 判断样式优先级
22.3 JavaScript样式对象
22.3.1 document.tags
22.3.2 document.classes
22.3.3 document.ids
22.3.4 属性
22.4 小结
第23章 层
23.1 通用的实践
23.1.1 为层使用样式单
23.1.2 管理叠放层
23.1.3 创造动画效果
23.2 <div>和<iframe>
23.2.1 定义数据块
23.2.2 拖入外部文件
23.3 <layer>和<ilayer>
23.3.1 一个制表的例子
23.3.2 一个反弹球例子
23.4 小结
第24章 DHTML菜单和工具栏
24.1 初始考虑
24.1.1 保证它是可能的
24.1.2 为将来打算
24.1.3 考虑API
24.2 设计菜单
24.2.1 定义层
24.2.2 处理动作
24.2.3 使用此菜单
24.2.4 探索可以做的其他事情
24.3 建立工具栏
24.3.1 应用事件
24.3.2 考虑设计问题
24.3.3 设计图像
24.3.4 设计HTML
24.3.5 实现图像滚过
24.3.6 实现一个位置域
24.3.7 处理按钮事件
24.3.8 检查结果
24.4 小结
第25章 与其他技术交互
25.1 浏览器插件
25.1.1 介绍插件和MIME类型
25.1.2 判断已安装的插件
25.2 ActiveX控件
25.2.1 了解ActiveX控件
25.2.2 实现安全性
25.2.3 用JScript访问
25.3 Java小程序
25.3.1 从JavaScript访问Java
25.3.2 从Java访问JavaScript
25.3.3 研究Java小程序的细节
25.4 LiveAudio
25.4.1 使用JavaScript方法
25.4.2 在JavaScript事件发生时播放声音
25.5 小结
第五部分 高级编程技术
第26章 保证脚本在Netscape和Microsoft浏览器中工作
26.1 语言版本与浏览器版本
26.2 JavaScript方言比较
26.2.1 Netscape的JavaScript
26.2.2 Microsoft的JScript
26.3 错误
26.4 小结
第27章 浏览器检测技术
27.1 “全部或者没有”方法
27.2 “现场检测”方法
27.2.1 浏览器类型
27.2.2 浏览器版本
27.2.3 JavaScript版本
27.2.4 操作系统平台
27.2.5 动态定位的例子
27.3 小结
第28章 基于JavaScript的站点导航
28.1 研究导航技术
28.2 编写一个动态工具栏脚本
28.2.1 编写一个定制的Toolbar对象
28.2.2 研究额外的特性
28.3 使用History对象
28.4 小结
第29章 窗体和数据有效性校验
29.1 收集用户反馈
29.1.1 为用户反馈创建一个示例窗体
29.1.2 测试一个用户窗体
29.1.3 显示消息框
29.1.4 使用状态信息
29.2 有效性校验用户输入
29.2.1 有效性校验自由窗体输入
29.2.2 确保一致性
29.2.3 实施策略语句
29.2.4 保证完整性
29.3 创建交互性窗体
29.4 创建可重用的有效性校验代码
29.4.1 整数
29.4.2 字符串
29.4.3 美元符号
29.4.4 信用卡
29.5 举例:JavaScript颜色检查器
29.6 小结
第30章 个人化和动态页面
30.1 了解静态Web页面
30.2 介绍cookie
30.2.1 cookie的优点
30.2.2 cookie的限制和缺点
30.2.3 cookie神话
30.3 使用cookie
30.3.1 检索cookie值
30.3.2 设置cookie值
30.3.3 删除一个cookie
30.3.4 一个cookie例子
30.4 哪些服务器和浏览器支持cookie
30.5 使用其他状态维护选项
30.5.1 查询字符串
30.5.2 隐藏窗体变量
30.6 小结
第31章 使用正则表达式的模式串匹配
31.1 创建正则表达式
31.1.1 RegExp()构造器
31.1.2 赋值运算符
31.2 正则表达式语法
31.2.1 \w和\W
31.2.2 \s和\S
31.2.3 \d和\D
31.2.4 [\b]
31.2.5 句号
31.2.6 […]和[^…]
31.2.7 [x-y]和[^x-y]
31.2.8 {x,y},{x,}和{X}
31.2.9 ?,+和*
31.2.10 逻辑OR(|)
31.2.11 (…)
31.2.12 \x
31.2.13 ^
31.2.14 $
31.2.15 \b和\B
31.3 使用正则表达式
31.4 正则表达式测试器
31.4.1 用户界面
31.4.2 搜索函数
31.4.3 替换函数
31.4.4 清空函数
31.5 举例:电话号码验证程序
31.6 小结
第32章 客户端数据技术
32.1 判断数据源:客户机还是服务器
32.2 什么是客户端表
32.3 创建一张查找表
32.4 创建找搜索用户界面
32.5 处理搜索请求
32.6 显示搜索结果
32.7 运行应用程序
32.8 小结
第33章 错误处理
33.1 错误类型
33.1.1 语法错误
33.1.2 运行时错误
33.1.3 逻辑错误
33.2 解释错误信息
33.3 定位代码
33.3.1 检查HTML
33.3.2 用注释来识别问题
33.3.3 使用alert()方法跟踪代码的处理过程
33.4 测试代码
33.5 使用可靠的技术编程
33.5.1 从一个高层和详细的设计构建代码
33.5.2 编写模块化代码
33.5.3 编写强内聚代码
33.5.4 编写松耦合的代码
33.5.5 编写可重用代码
33.5.6 编写错误处理代码
33.5.7 使用强命名约定
33.5.8 使用注释
33.5.9 声明和初始化变量
33.6 保护代码
33.7 小结
第34章 跟踪调试
34.1 使用Microsoft脚本跟踪调试器
34.1.1 Microsoft脚本跟踪调试器的特性
34.1.2 使用Microsoft脚本跟踪调试器调试一个文件
34.1.3 关于Microsoft脚本跟踪调试器的最后一句话
34.2 使用Netscape JavaScript跟踪调试器
34.2.1 研究Netscape JavaScript跟踪调试器特性
34.2.2 使用Netscape JavaScript跟踪调试器调试一个文件
34.2.3 关于Netscape JavaScript跟踪调试器的最后一句话
34.3 使用alert()方法
34.3.1 看一个完整的例子
34.3.2 关于使用alert()方法的最后一句话
34.4 小结
第35章 JavaScript和Web安全性
35.1 客户端JavaScript的安全性因素
35.1.1 拒绝服务攻击
35.1.2 Netscape Navigator 2.0问题
35.1.3 后来的Navigator版本
35.1.4 Internet Explorer 3.x
35.2 最大化安全保护
35.2.1 安全对话和数字签名
35.2.2 在浏览器中关闭脚本语言
35.2.3 防火墙过滤
35.2.4 关于JavaScript和Java安全性的安全性信息资源
35.3 服务器端JavaScript的安全性因素
35.4 Java和安全性
35.4.1 安全性构件
35.4.2 安全性限制
35.5 小结
第六部分 附录
附录A Web上的十大JavaScript资源
附录B 关于光盘