前言 1
第1章 JavaScript初探 7
1.1 规范和实现相互交织的历史 8
1.2 跨浏览器的不兼容性和其他常见的JavaScript传说 10
1.3 你能用JavaScript来做什么 11
1.4 JavaScript初探:“Hello World!” 12
1.5 JavaScript沙箱 23
1.6 可访问性和JavaScript的最佳实践 24
第2章 JavaScript数据类型与变量 32
2.1 变量的标识 32
2.2 作用域 37
2.3 简单类型 41
2.4 常量:有名称但不改变 50
2.5 习题 50
第3章 运算符和语句 51
3.1 JavaScript语句的格式 51
3.2 简单语句 53
3.3 条件语句和程序流 59
3.4 条件运算符 66
3.5 逻辑运算符 71
3.6 高级语句:循环语句 72
3.7 习题 76
第4章 JavaScript对象 77
4.1 对象构造函数 77
4.2 Number对象 78
4.3 String对象 80
4.4 正则表达式与RegExp 85
4.5 有专门用途的对象:Date和Math 92
4.6 JavaScript数组 99
4.7 关联数组:不是数组的数组 103
4.8 习题 104
第5章 函数 105
5.1 定义函数:细数所有方式 105
5.2 回调函数 113
5.3 函数和递归 115
5.4 嵌套函数、函数闭包和内存泄漏 117
5.5 作为对象的函数 120
5.6 习题 121
第6章 捕捉事件 122
6.1 0级DOM上的事件句柄 123
6.2 2级DOM上的事件句柄 133
6.3 产生事件 139
6.4 习题 140
第7章 表单与即时验证 142
7.1 访问表单 142
7.2 把事件附加在表单上:不同的方法 143
7.3 选择列表 144
7.4 单选按钮和复选框 148
7.5 输入字段和JiT正则表达式 154
7.6 习题 157
第8章 沙箱及之上的cookie、连通性和隐私 158
8.1 沙箱 159
8.2 关于cookie的一切 161
8.3 备选存储技术 166
8.4 跨站脚本(XSS) 170
8.5 习题 172
第9章 基础浏览器对象 174
9.1 BOM总述 174
9.2 Window对象 175
9.3 框架和地址 184
9.4 history、screen和navigator 190
9.5 document对象 195
9.6 有旧、有新 201
9.7 习题 202
第10章 DOM:文档对象模型 203
10.1 两种接口的故事 204
10.2 DOM和兼容浏览器 205
10.3 DOM的HTML API 206
10.4 理解DOM:核心API 213
10.5 DOM的核心文档对象 220
10.6 Element及在上下文中访问元素 223
10.7 修改树 225
10.8 习题 228
第11章 创建定制的JavaScript对象 229
11.1 JavaScript对象和原型 230
11.2 创建自己的定制JavaScript对象 231
11.3 对象检测、封装和跨浏览器对象 236
11.4 链式构造函数和JS继承 241
11.5 一次性对象 243
11.6 高级错误处理技术(try、throw和catch) 245
11.7 JavaScript中的新特性 249
11.8 习题 251
第12章 构建动态网页:在脚本中加入样式 253
12.1 DHTML:JavaScript、CSS和DOM 254
12.2 字体和文本 259
12.3 定位和移动 262
12.4 调整大小和修剪形状 270
12.5 属性display、visibility和opacity 275
12.6 习题 281
第13章 使用Ajax 282
13.1 Ajax:不仅是代码 283
13.2 Ajax如何工作 285
13.3 Hello Ajax World! 286
13.4 Ajax对象:XML Http Request和IE的ActiveX对象 289
13.5 是否使用XML 293
13.6 Google Maps 300
13.7 习题 303
第14章 好消息:生动的程序库!令人惊异的Web服务!有趣的API! 304
14.1 在开始之前,要注意的一句话 304
14.2 使用Prototype 305
14.3 Script.aculo.us介绍 311
14.4 Sabre的Rico 314
14.5 Dojo 317
14.6 Yahoo! UI 321
14.7 MochiKit 324
14.8 习题 328
附录 习题答案 330