第1章JavaScript简介 1
1.1 JavaScript是什么 1
1.2 JavaScript不是什么 3
1.3 JavaScript的用处 3
1.4 JavaScript及其在Web页面中的位置 3
1.5Ajax是什么 5
1.6 JavaScript是什么样子的 6
1.7 JavaScript及其在Web开发中承担的角色 7
1.8 JavaScript和事件 9
1.9标准化JavaScript和W 3C 11
1.9.1 JavaScript对象 12
1.9.2文档对象模型 12
1.10关于浏览器 13
1.10.1 JavaScript的版本 14
1.10.2你的浏览器遵循标准吗 16
1.10.3浏览器是否已启用JavaScript 16
1.11 JavaScript代码放在哪儿 17
1.12验证标签 20
1.12.1 W3C验证工具 21
1.12.2 Validome验证工具 21
1.13应知应会 22
练习 23
第2章 脚本的安装 24
2.1 HTML文档与JavaScript 24
2.2语法细节 27
2.2.1区分大小写问题 27
2.2.2自由形式及保留字 27
2.2.3语句及分号 28
2.2.4注释 28
2.2.5 <script>标签 29
2.3生成HTML并输出显示 30
2.3.1字符串及字符串串联 30
2.3.2 write()及writeln()方法 31
2.4关于调试 33
2.5调试工具 33
2.5.1 Firefox 33
2.5.2在Intemet Explorer 8中调试 36
2.5.3 JavaScript:URL协议 37
2.6 JavaScript与旧浏览器或受限的浏览器 37
2.7应知应会 40
练习 41
第3章 数据类型、字面量和变量 42
3.1数据类型 42
3.1.1基本数据类型 42
3.1.2复合数据类型 47
3.2变量 47
3.2.1有效变量名 48
3.2.2声明和初始化变量 48
3.2.3动态或宽松类型语言 50
3.2.4变量作用域 52
3.2.5变量的拼接 52
3.3常量 54
3.4要注意的bug 55
3.5应知应会 55
练习 56
第4章 对话框 57
4.1与用户交互 57
4.1.1 alert ()方法 57
4.1.2 prompt()方法 59
4.1.3 confirm()方法 61
4.2应知应会 62
练习 63
第5章 运算符 64
5.1 JavaScript运算符和表达式 64
5.1.1赋值运算符 64
5.1.2优先级和结合性 65
5.2运算符类型 68
5.2.1算术运算符 68
5.2.2快捷赋值运算符 69
5.2.3递增运算符和递减运算符 70
5.2.4拼接运算符 72
5.2.5 比较运算符 73
5.2.6逻辑运算符 78
5.2.7条件运算符 83
5.2.8位运算符 84
5.3数字、字符串还是布尔值?数据类型转换 87
5.3.1 parseInt()函数 88
5.3.2 parseFloat()函数 90
5.3.3 eval()函数 91
5.4特殊运算符 92
5.5应知应会 93
练习 93
第6章 条件选择 95
6.1控制结构、块及复合语句 95
6.2条件 95
6.2.1 if/else 96
6.2.2 if/else if 98
6.2.3 switch 99
6.3循环 102
6.3.1 while循环 102
6.3.2 do/while循环 103
6.3.3 for循环 104
6.3.4 for/in循环 105
6.3.5使用break和continue控制循环 105
6.3.6嵌套循环及标签 107
6.4应知应会 109
练习 110
第7章 函数 112
7.1什么是函数 112
7.1.1函数声明和调用 112
7.1.2返回值 119
7.1.3匿名函数变量 121
7.1.4闭包 124
7.1.5递归 125
7.1.6函数是对象 129
7.2调试技巧 129
7.2.1函数语法 129
7.2.2使用try/catch和throw捕捉异常 131
7.3应知应会 134
练习 134
第8章 对象 136
8.1什么是对象 136
8.1.1对象及点语法 137
8.1.2使用构造函数创建对象 137
8.1.3对象的属性 139
8.1.4对象的方法 140
8.2类和用户自定义函数 142
8.2.1什么是类 142
8.2.2什么是this 142
8.2.3内联函数作为对象的方法 145
8.3对象字面量 146
8.4操作对象 149
8.4.1 with关键字 149
8.4.2 for/in循环 151
8.5通过原型扩展对象 152
8.5.1使用prototype属性为对象添加属性 154
8.5.2原型查找链 155
8.5.3使用原型为对象添加方法 157
8.5.4所有对象都有的属性和方法 159
8.5.5创建子类及继承 162
8.6应知应会 164
练习 164
第9章JavaScript核心对象 166
9.1什么是核心对象 166
9.2数组对象 166
9.2.1数组的声明及填充 167
9.2.2 Array对象属性 171
9.2.3关联数组 173
9.2.4嵌套数组 175
9.3数组方法 178
9.4 Date对象 184
9.4.1 Date对象方法的使用 185
9.4.2操纵日期及时间 187
9.4.3通过prototype属性自定义Date对象 188
9.5 Math对象 190
9.5.1向上取整及向下取整 192
9.5.2生成随机数 193
9.5.3 wrapper对象 194
9.5.4 String对象 195
9.5.5 Number对象 205
9.5.6 Boolean对象 207
9.5.7 Function对象 209
9.5.8再论关键字with 210
9.6应知应会 211
练习 212
第10章 浏览器对象模型:BOM 214
10.1 JavaScript及浏览器对象模型 214
10.1.1 navigator对象的使用 215
10.1.2 window对象的使用 225
10.1.3创建定时事件 231
10.1.4 Frame的使用 240
10.1.5 location对象 249
10.1.6 history对象 253
10.1.7 screen对象 256
10.2应知应会 258
练习 258
第11章 表单及输入设备的使用 259
11.1文档对象模型及传统DOM 0 259
11.2 JavaScript层次结构 259
11.3关于HTML表单 265
11.4 JavaScript与form对象 271
11.4.1为表单及其输入类型(控件)命名 271
11.4.2表单中的传统DOM 274
11.4.3为表单及按钮命名 277
11.4.4提交填写完成的表单 281
11.4.5 this关键字 289
11.4.6 submit()及reset()方法 291
11.5输入设备(控件)编程 295
11.6应知应会 324
练习 324
第12章 图片与链接 326
12.1图片简介 326
12.1.1重温HTML中的图片 326
12.1.2 JavaScript中的image对象 328
12.2回顾链接 329
12.3图片地图 333
12.3.1使用src属性动态替换图片 336
12.3.2预加载图片和Image ()构造函数 339
12.3.3随机显示图片和onClick事件 341
12.3.4图片地图与JavaScript 343
12.4缩放图片以适应窗口 345
12.5幻灯简介 347
12.5.1带有控制按钮的简单幻灯展示 348
12.5.2可单击的图片幻灯展示 351
12.6动画和定时器 354
12.6.1变换图片位置 354
12.6.2改变图片的高度和宽度属性 355
12.7应知应会 356
练习 357
第13章 事件处理 358
13.1事件处理函数介绍 358
13.2事件处理的内联模型 358
13.2.1 HTML和事件处理函数 359
13.2.2设置事件处理函数 361
13.2.3返回值 363
13.2.4 JavaScript对象方法和事件 364
13.3处理窗口事件或框架事件 366
13.3.1 onLoad和onUnLoad事件 366
13.3.2 onFocus和onBlur事件处理函数 368
13.3.3 onResize事件处理函数 371
13.4鼠标事件处理 373
13.4.1怎样使用鼠标事件 374
13.4.2鼠标事件和图像——翻转 376
13.4.3通过鼠标事件创建幻灯片 376
13.5处理链接事件 379
13.6处理表单事件 380
13.6.1按钮 381
13.6.2表单和按钮中的this关键字 382
13.6.3表单和onClick事件处理函数 383
13.6.4表单和onFocus、 onBlur事件处理函数 384
13.6.5表单和onChange事件处理函数 386
13.6.6表单和onSubmit事件处理函数 387
13.6.7 HTML事件处理函数和JavaScript事件方法 391
13.6.8 onError事件 393
13.7 event对象 394
13.7.1捕获和冒泡(滴漏和冒泡) 394
13.7.2事件对象属性 395
13.7.3使用事件对象属性 396
13.7.4将事件传递给JavaScript函数 398
13.7.5鼠标坐标 400
13.7.6按键事件 404
13.8处理事件的脚本模型 407
13.9应知应会 412
练习 412
第14章CSS与JavaScript 414
14.1什么是CSS 414
14.2什么是样式表 414
14.2.1什么是兼容CSS的浏览器 415
14.2.2样式表的工作原理 415
14.3 CSS程序结构 417
14.3.1注释 417
14.3.2组合 417
14.4常用样式表属性 418
14.4.1计量单位 420
14.4.2使用颜色 421
14.4.3使用字体 423
14.4.4使用文本 425
14.4.5使用背景和图片 427
14.4.6使用边距和边框 429
14.5样式表类型 432
14.5.1嵌入式样式表和<style>标签 432
14.5.2内联样式和<style>属性 435
14.6链接的样式表 436
14.6.1 <link>标签 436
14.6.2使用@import导入 438
14.7创建样式类 438
14.7.1用类设定简单表格样式 439
14.7.2使用特定类选择器 441
14.8 ID选择器和ID属性 443
14.9使用<span>标签重写或添加样式 444
14.9.1 <span>标签和style属性 445
14.9.2 <span>标签和class属性 446
14.9.3继承和上下文选择器 447
14.10定位元素和层 449
14.10.1绝对定位 450
14.10.2 <div>客器 455
14.10.3绝对定位 455
14.10.4相对定位 457
14.10.5 z索引和三维 458
14.11如何与JavaScript融合 459
14.11.1什么是DHTML 459
14.11.2 JavaScript如何操作样式表 459
14.11.3 style对象 462
14.11.4 className属性 470
14.11.5下拉菜单和提示框 472
14.12应知应会 477
练习 478
第15章W3C DOM与JavaScript 479
15.1 W3C DOM 479
15.2理解DOM节点 480
15.3节点 481
15.3.1父节点和子节点 482
15.3.2兄弟节点 482
15.3.3 nodeName和nodeType属性 483
15.3.4空白bug 483
15.4遍历DOM 484
15.5 DOM查看器 486
15.6查询DOM的快捷方式 487
15.6.1 document.getElement-ById()方法 487
15.6.2 document.getElements-ByTagName()方法 490
15.6.3对应于HTML属性的JavaScript属性 491
15.7 DOM的修改(追加、复制和删除节点) 493
15.7.1 innerHTML属性和元素的内容 493
15.7.2更改元素的内容 495
15.7.3使用DOM创建新元素 496
15.7.4在节点前插入 498
15.7.5为节点创建属性 499
15.7.6 DOM回顾:创建博客 501
15.7.7使用DOM创建表格 504
15.7.8复制节点 507
15.7.9删除节点 512
15.7.10利用节点实现文本滚动 515
15.8事件处理和DOM 517
15.8.1 HTML内联方式 517
15.8.2脚本方法 517
15.8.3 DOM方法 518
15.8.4冒泡和捕获 518
15.9 W3C模型中的事件监听器 522
15.9.1添加事件 522
15.9.2注册多个事件 524
15.9.3删除事件 526
15.9.4 Microsoft Internet Explorer中的事件监听器 528
15.9.5回顾事件属性 530
15.10不唐突的JavaScript 533
15.11应知应会 539
练习 540
第16章cookie 543
16.1什么是cookie 543
16.1.1 cookie的组成 545
16.1.2 cookie的属性 546
16.2使用JavaScript创建cookie 547
16.2.1 cookie对象 548
16.2.2设置cookie属性 548
16.2.3创建cookie 550
16.2.4从服务器获取cookie信息 552
16.2.5删除cookie 554
16.2.6使用浏览器删除cookie 556
16.3应知应会 557
练习 557
第17章 正则表达式和模式匹配 558
17.1什么是正则表达式 558
17.2创建正则表达式 560
17.2.1字面量方式 560
17.2.2构造函数 560
17.2.3测试正则表达式 561
17.2.4 RegExp对象的属性 564
17.3使用字符串的正则表达式方法 566
17.3.1 match ()方法 566
17.3.2 search ()方法 567
17.3.3 replace ()方法 568
17.3.4 split ()方法 569
17.4获取控制——元字符 571
17.4.1点元字符 574
17.4.2字符类 575
17.4.3元符号 578
17.4.4重复模式匹配元字符 580
17.4.5描元字符 587
17.4.6或模式 592
17.5用正则表达式验证表单 596
17.5.1检查空字段 596
17.5.2检查邮政编码 598
17.5.3检查字母数据 600
17.5.4删除多余字符 601
17.5.5有效社会安全号码验证 604
17.5.6验证电话号码 606
17.5.7验证电子邮件地址 608
17.5.8验证信用卡号 610
17.5.9汇总 616
17.6应知应会 619
练习 619
第18章Ajax(及JSON)简介 621
18.1为什么要用Ajax 621
18.2为什么最后才提到Ajax 623
18.3建立Ajax通信的步骤 623
18.3.1步骤1:创建XMLHttp-Request对象 623
18.3.2步骤2:初始化对象 625
18.3.3向服务器发送请求 628
18.3.4步骤3:监控服务器响应状态 628
18.3.5使用回调函数处理响应 630
18.3.6浏览器缓存问题 632
18.4结合起来 632
18.4.1使用Ajax从文件中获取文本 638
18.4.2使用Ajax从文件中获取XML 641
18.4.3 Ajax和表单 644
18.5 Ajax和JSON 651
18.5.1 JSON数据结构 652
18.5.2使用JSON的步骤 652
18.5.3 JSON综合示例 655
18.5.4解决eval()安全问题 658
18.6使用Firebug调试Ajax 662
18.7应知应会 664
练习 665