第1章Web与JavaScript概述 1
1.1 JavaScript简介 1
1.1.1什么是JavaScript 1
1.1.2 JavaScript与Web 2
1.1.3为什么选择JavaScript 3
1.1.4 JavaScript的功能 4
1.2创建JavaScript Web应用程序所需的工具 4
1.3 <script>标记:第一个简单的JavaScript程序 6
1.4浏览器及其兼容性问题 12
1.5关于“谁将成为亿万富翁?”小测试的简介 13
1.5.1“小测试”程序代码背后的设计思路 15
1.5.2与“小测试”所需功能相关的章节 17
1.6小结 17
第2章 JavaScript中的数据类型与变量 19
2.1 JavaScript中的数据类型 19
2.1.1数值数据 20
2.1.2文本数据 20
2.1.3布尔数据 21
2.2变量——保存在内存中的数据 22
2.2.1声明变量并赋值 23
2.2.2用其他变量的值为变量赋值 25
2.3设置浏览器以显示错误信息 27
2.3.1在Firefox浏览器中显示错误信息 27
2.3.2在1E浏览器中显示错误信息 29
2.3.3当错误发生时浏览器如何显示错误信息 30
2.4使用数据——计算数值及字符串的基本操作 32
2.4.1数值计算 32
2.4.2操作符的优先级 36
2.4.3字符串的基本操作 39
2.4.4字符串与数值的混合操作 40
2.5数据类型转换 42
2.6数组 45
2.7“在线小测试”程序——使用数组来存储题目 54
2.8小结 57
2.9习题 58
第3章 判断、循环和函数 59
3.1选择语句——if语句和switch语句 59
3.1.1比较运算符 60
3.1.2 if语句 62
3.1.3逻辑运算符 66
3.1.4在if语句中使用复合条件 68
3.1.5 else和else if语句 72
3.1.6字符串的比较 74
3.1.7 switch语句 75
3.2循环语句——for语句和while语句 80
3.2.1 for循环语句 80
3.2.2 for.in循环语句 83
3.2.3 while循环语句 84
3.2.4 do.while循环语句 86
3.2.5 break语句和continue语句 87
3.3函数 88
3.3.1创建用户自定义函数 88
3.3.2变量的作用域和生存期 92
3.4创建一个“在线小测试”程序7中的基本函数 93
3.5小结 96
3.6习题 98
第4章 JavaScript——基于对象的语言 101
4.1基于对象的程序设计 101
4.1.1对象概述 101
4.1.2 JavaScript中的对象 102
4.1.3使用JavaScript对象 103
4.1.4基本数据类型与对象类型 106
4.2 JavaScript的内建对象 107
4.2.1 String对象 107
4.2.2 Math对象 118
4.2.3 Number对象 125
4.2.4 Array对象 127
4.2.5 Date对象 133
4.2.6 JavaScript中的类 142
4.3小结 153
4.4习题 153
第5章 浏览器程序设计 155
5.1浏览器对象 156
5.1.1 window对象 157
5.1.2 history对象 159
5.1.3 location对象 159
5.1.4 navigator对象 160
5.1.5 screen对象 160
5.1.6 document对象——代表页面本身的对象 161
5.1.7将事件处理代码连接到Web页面的事件 165
5.1.8浏览器版本检测 172
5.2小结 182
5.3习题 183
第6章 HTML表单——与用户进行交互 185
6.1 HTML表单 185
6.2表单中的HTML元素 189
6.2.1表单元素的常见属性和方法 190
6.2.2 button表单元素 191
6.2.3文本框 195
6.2.4 textarea元素 203
6.2.5单选按钮和复选框 205
6.2.6 select元素 213
6.3回到“在线小测试” 227
6.3.1创建表单 228
6.3.2用单选按钮创建可选答案 229
6.4小结 233
6.5习题 236
第7章 窗体和框架 237
7.1框架与window对象 238
7.1.1编写各框架都能访问的代码 241
7.1.2框架间的代码互访 247
7.2打开新的浏览器窗口 257
7.2.1如何打开新的浏览器窗口 258
7.2.2浏览器窗口之间的脚本编程 265
7.2.3移动或改变窗体的大小 270
7.3安全性 271
7.4在线小测试 272
7.5小结 288
7.6习题 289
第8章 字符串操作 291
8.1字符串的新方法 291
8.1.1 split()方法 292
8.1.2 replace()方法 296
8.1.3 search()方法 296
8.1.4 match()方法 296
8.2正则表达式 297
8.2.1简单的正则表达式 298
8.2.2正则表达式:特殊元字符 300
8.2.3考虑所有的可能性 308
8.2.4正则表达式的分组 309
8.3 String对象——split()、replace()、search()和match()方法 312
8.3.1 split()方法 312
8.3.2 replace()方法 314
8.3.3 search()方法 318
8.3.4 match()方法 318
8.4使用RegExp对象的构造函数 321
8.5在线小测试程序 323
8.6小结 330
8.7习题 331
第9章 日期、时间和计时器 333
9.1世界时(World Time) 334
9.2在Web页面中使用计时器 347
9.2.1一次性计时器 348
9.2.2创建间隔性触发计时器 352
9.3在线小测试程序 354
9.4小结 360
9.5习题 360
第10章 常见错误、调试和错误处理 363
10.1难以置信,竟然犯了这样简单的错误:JavaScript中的常见错误 363
10.1.1变量未定义 363
10.1.2大小写敏感 365
10.1.3不匹配的大括号 366
10.1.4在连接字符串时缺少加号(+) 366
10.1.5赋值而不是相等 367
10.1.6不匹配的圆括号 367
10.1.7将方法误认为属性,或者将属性误认为方法 368
10.2 Microsoft脚本调试器 369
10.2.1获取脚本调试器 369
10.2.2安装脚本调试器 370
10.2.3使用脚本调试器 372
10.3 Firefox浏览器的脚本调试器:Venkman 388
10.4错误处理 392
10.4.1避免错误 393
10.4.2 try...catch语句 394
10.5小结 404
10.6习题 405
第11章 使用Cookie存储信息 407
11.1烘焙你的第一个cookie 407
11.1.1一个新鲜出炉的cookie 407
11.1.2 Cookie字符串 414
11.2创建cookie 418
11.3获取cookie的值 422
11.4 Cookie的局限性 428
11.5 IE 6和IE 7浏览器中cookie的安全性 430
11.6小结 435
11.7习题 435
第12章 DHTML概述 437
12.1跨浏览器问题 437
12.2 CSS入门 458
12.3动态HTML (DHTML) 471
12.3.1访问页面中的元素 471
12.3.2改变元素的外观 472
12.3.3动态定位和移动元素 479
12.3.4实例:动态广告 484
12.4小结 489
12.5习题 489
第13章 现代浏览器中的DHTML 491
13.1为什么需要Web标准 492
13.2 Web标准 494
13.2.1 HTML 494
13.2.2 ECMAScript 495
13.2.3 XML 495
13.2.4 XHTML 497
13.3文档对象模型(DOM) 498
13.3.1 DOM标准 498
13.3.2 DOM与BOM的区别 499
13.3.3将HTML文档解析为一棵节点树 500
13.3.4 DOM对象 503
13.3.5 DOM对象的属性和方法 505
13.3.6 DOM事件模型 524
13.4 DHTML示例:Internet Explorer 5+ 529
13.4.1 IE浏览器的事件模型 529
13.4.2创建一个DHTML工具栏 531
13.5 DHTML实例:Firefox浏览器和Opera浏览器中的工具栏 544
13.6创建跨浏览器的DHTML工具栏 548
13.7小结 552
13.8习题 552
第14章 JavaScript与XML 555
14.1 XML能做什么 555
14.2 XML基础 556
14.3创建XML文档 562
14.3.1文档类型定义(DTD) 563
14.3.2创建第一个DTD文件 564
14.3.3加入数据 566
14.4改变XML的显示外观 570
14.4.1样式表与XML 570
14.4.2可扩展样式语言(XSL) 573
14.5使用JavaScript操作XML 579
14.5.1在IE浏览器中获取XML文档 580
14.5.2如何判断XML文档何时被加载完成 582
14.5.3如何在Firefox和Opera浏览器中加载XML文档 583
14.5.4如何判断XML文档已经加载完成 584
14.5.5如何跨浏览器读取XML文档 584
14.5.6显示每日信息 585
14.6小结 597
14.7习题 597
第15章 使用ActiveX和Plug-In 599
15.1 Firefox浏览器中的嵌入式插件 600
15.1.1在页面中添加插件 600
15.1.2检测Firefox浏览器中已安装的插件 602
15.2 IE浏览器中的嵌入式ActiveX控件 606
15.2.1如何在页面中添加ActiveX控件 606
15.2.2安装ActiveX控件 610
15.3使用插件和ActiveX控件 611
15.3.1如何对无插件或ActiveX控件时重定向脚本进行测试 619
15.3.2潜在的问题 619
15.4小结 623
15.5习题 624
第16章 Ajax与远程脚本 625
16.1什么是远程脚本 625
16.1.1远程脚本可以用来干什么 626
16.1.2Ajax 627
16.1.3浏览器支持 628
16.2 Ajax与JavaScript的结合:XMLHttpRequest对象 628
16.2.1跨浏览器问题 629
16.2.2使用XMLHttpRequest对象 633
16.2.3异步请求 634
16.3创建一个远程脚本类 636
16.3.1 HttpRequest构造函数 637
16.3.2创建方法 639
16.3.3完整的代码 640
16.4使用XMLHttpRequest创建智能表单 642
16.4.1如何向服务器端的PHP程序查询信息 643
16.4.2从服务器返回的数据 643
16.4.3在开始编写代码之前 643
16.5使用iframe创建智能表单 652
16.6关于Ajax技术的注意事项 660
16.6.1同源策略 660
16.6.2 ActiveX对Ajax的影响 661
16.6.3可用性问题 661
16.7小结 663
16.8习题 664
附录 参考答案 665