《JavaScript学习宝典 第2版》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:(美)邵(Thau,D.);李丽,李松峰译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2008
  • ISBN:9787302181132
  • 页数:464 页
图书介绍:本书从实例分析为出发点,循序渐进地讲解每一个JavaScript脚本,书中每一章都会详细介绍几个重要的JavaScript特性,并展示专业的网站如何运用这些特性。本书还增加了介绍Ajax的新章节。

第1章 JavaScript入门 1

1.1 JavaScript适合你吗 1

1.2本书适合你吗 2

1.3本书的目标 2

1.4 JavaScript能做什么 3

1.5 JavaScript的替代技术 4

1.5.1 CGI脚本 5

1.5.2 VBScript 6

1.5.3 Java 6

1.5.4 Flash 6

1.6 JavaScript的局限性 7

1.6.1 JavaScript无法与服务器对话 7

1.6.2 JavaScrit不能创建图形 7

1.6.3 JavaScript在不同的浏览器中存在差异 7

1.7新手上路 8

1.8把JavaScript脚本放在网页中的什么地方 8

1.9处理老式浏览器 10

1.10第一个JavaScript程序 11

1.11小结 12

1.12习题 12

第2章 使用变量和内置函数自动更新网页 13

2.1存储信息的变量 14

2.1.1变量的语法 14

2.1.2变量的命名 15

2.1.3通过变量做算术 16

2.2显示结果 16

2.3字符串 18

2.4再谈函数 19

2.4.1 alert() 19

2.4.2图2-9的逐行分析 21

2.4.3 prompt() 21

2.5参数 23

2.6向网页中写入日期 23

2.6.1内置的Date函数 24

2.6.2日期和时间方法 24

2.6.3写入日期和时间的代码 25

2.6.4图2-12的逐行分析 26

2.7欧洲航天局如何向主页中写入日期 28

2.8小结 28

2.9习题 29

第3章 满足浏览器的需要 31

3.1浏览器检测实例 31

3.2检测浏览器的方法 33

3.2.1快捷但粗糙的浏览器检测 33

3.2.2更精确的浏览器检测 34

3.3把访客重定向到其他网页 35

3.4 if-then语句 36

3.4.1布尔表达式 36

3.4.2嵌套 38

3.4.3 if-then-else语句 38

3.4.4 if-then-else-if语句 39

3.4.5花括号应该何时用在何处 39

3.5 OR和AND操作符 41

3.5.1 OR操作符 41

3.5.2 AND操作符 43

3.6综合起来 43

3.7有关布尔表达式的一些细节 45

3.8 Netscape网站如何提供针对浏览器的内容 46

3.9小结 48

3.10习题 48

第4章 制作翻转图 49

4.1一个真实的翻转图 49

4.2触发事件 51

4.2.1事件类型 51

4.2.2 JavaScript中的引号 53

4.2.3单击链接而不离开当前页面 54

4.2.4更多有意思的操作 55

4.3替换图像 55

4.4操纵多幅图像 56

4.5句点的作用是什么 57

4.5.1 document对象 58

4.5.2对象的属性 59

4.5.3实现翻转效果 59

4.5.4图像预载 60

4.6 Tin House网站翻转图的工作原理 61

4.7小结 62

4.8习题 62

第5章 打开和操纵窗口 63

5.1打开窗口查看补充信息的真实例子 63

5.2操纵作为对象的窗口 65

5.3打开窗口 65

5.3.1操纵新窗口的外观 65

5.3.2某些浏览器和计算机会以不同方式打开窗口 68

5.4关闭窗口 68

5.5正确地命名:窗口如何识别自己和其他窗口 69

5.6隐藏或显示窗口 69

5.7窗口的属性 70

5.7.1 status属性 70

5.7.2 opener属性 71

5.8其他window对象的方法 73

5.8.1缩放窗口 73

5.8.2移动窗口 73

5.9小结 75

5.10习题 76

第6章 编写自己的JavaScript函数 79

6.1函数简化操作 79

6.1.1 JavaScript函数的基本结构 80

6.1.2函数的命名 80

6.1.3圆括号和花括号 81

6.1.4一个简单的函数 81

6.2编写灵活的函数 82

6.2.1使用参数 82

6.2.2图6-4的逐行分析 83

6.2.3使用多个参数 85

6.3从函数中取得信息 87

6.4处理Y2K问题 88

6.5适当地定义变量 90

6.6小结 92

6.7习题 92

第7章 通过表单提供和接收信息 95

7.1表单的应用实例 95

7.2表单基础 97

7.2.1文本输入框 98

7.2.2按钮、复选框和单选按钮 98

7.2.3选择元素 100

7.2.4文本区 101

7.2.5表单元素小结 102

7.3表单和JavaScript 102

7.3.1命名表单元素 102

7.3.2命名单选按钮 103

7.3.3命名选项 104

7.4读取和设置表单元素 104

7.4.1从文本框中读取信息 104

7.4.2设置文本框的值 106

7.4.3文本区 107

7.4.4复选框 107

7.4.5单选按钮 110

7.4.6下拉菜单和滚动列表 110

7.5通过表单元素处理事件 111

7.6缩短引用 113

7.7将下拉菜单作为导航工具 113

7.8最后一个表单简写形式 114

7.9 Doctors Without Borders网站中下拉菜单导航工具的工作原理 116

7.10小结 116

7.11习题 117

第8章 通过数组和循环记录信息 119

8.1有关数组的实例 119

8.2 JavaScript的内置数组 120

8.3数组中包含多少个项目 122

8.4遍历数组 122

8.5 while循环 124

8.5.1 while循环和数组 125

8.5.2不要草率行事 126

8.5.3在循环中使用array.length 126

8.5.4递增的简写 127

8.5.5小心无限循环 127

8.6 for循环 127

8.7 AntWeb如何选中所有复选框 128

8.8创建你自己的数组 130

8.9本书网站中提示框的工作原理 131

8.9.1检查空句 132

8.9.2检查数组中的最后一个元素 133

8.9.3测试数组的极限 133

8.9.4 startScroll()函数 133

8.9.5简化版 134

8.10循环可以嵌套 135

8.11逐个创建数组元素 136

8.12关联数组 137

8.13小结 140

8.14习题 140

第9章 计时事件 143

9.1计时事件的实例 143

9.2通过setTimeout()设置警报 144

9.3通过clearTimeout()取消警报 145

9.4重复计时操作 146

9.4.1图9-5的逐行分析 148

9.4.2对表单元素使用parseInt() 148

9.4.3在设置新计时之前清除计时 149

9.4.4在函数外部声明保存计时的变量 149

9.5通过计时循环构建一个时钟 149

9.6本书网站中计时器的工作原理 151

9.7 Space.com中倒计时脚本的工作原理 153

9.7.1计算时间 155

9.7.2全局变量和常量 156

9.8计时播放的幻灯片 156

9.9更安全的rotateImage()函数 158

9.9.1为什么在函数外部声明变量不安全 158

9.9.2为什么不能在计时循环中使用var 159

9.9.3解决方案 159

9.9.4障碍 160

9.9.5对障碍的解决方案 161

9.9.6为什么在rotateImage()函数外部声明the_images 161

9.10小结 162

9.11习题 162

第10章 使用框架和图像地图 163

10.1框架和图像地图的实例 163

10.2框架 164

10.2.1框架基础 164

10.2.2框架和JavaScrip 166

10.2.3框架和图像替换 167

10.2.4一次修改两个框架的内容 170

10.2.5框架内部的框架 171

10.2.6 JavaScript和框架内部的框架 173

10.2.7摆脱框架 173

10.2.8使用框架保存信息 174

10.2.9图10-15的逐行分析 177

10.3图像地图 178

10.3.1图像地图基础 179

10.3.2图像地图和JavaScript 180

10.4 Salon中昆虫大餐脚本的工作原理 180

10.4.1 Salon的嵌套框架 182

10.4.2 Salon的图像地图 182

10.4.3 changeMe()函数 182

10.5小结 183

10.6习题 183

第11章 验证表单、消息字符串及与服务器端程序协作 185

11.1表单验证的实例 185

11.2确保访客填写了一个表单元素 186

11.3字符串处理 190

11.3.1分解字符串 190

11.3.2通过正则表达式匹配字符串模式 196

11.4 Dictionary.com表单验证程序的工作原理 200

11.5小结 206

11.6习题 206

第12章 通过cookie保存访客信息 209

12.1使用cookie的实例 210

12.2什么是cookie 210

12.3 cookie能做什么,不能做什么 211

12.4操纵cookie 212

12.4.1设置cookie 212

12.4.2读取cookie 212

12.4.3重置cookie 213

12.4.4设置多段信息 214

12.4.5设置cookie的有效时间 216

12.4.6谁能读取cookie 218

12.4.7完整的cookie 218

12.4.8设置多个cookie 219

12.5 cookie库 219

12.6基于cookie的购物车 220

12.6.1向购物车中添加项目 221

12.6.2结账页面 223

12.6.3 readTheCookie()函数 225

12.6.4 checkOut()函数 226

12.7小结 226

12.8习题 227

第13章 DHTML 229

13.1 DHTML实例 229

13.2 CSS基础 230

13.2.1 〈div〉标记 230

13.2.2通过CSS定位div 231

13.2.3隐藏div 233

13.2.4层叠div 233

13.3 JavaScript和DHTML 234

13.4让div移动 235

13.5使用setTimeout()和clearTimeout()方法为页面添加动画 235

13.6改变div的内容 237

13.7 span标记和getElementsByTagName() 238

13.8高级DOM技术 241

13.8.1 W3C DOM简介 241

13.8.2使用W3C DOM方法创建和添加元素 242

13.8.3向元素中添加文本 242

13.8.4在页面中间添加元素和删除元素 243

13.8.5更多的DOM细节信息 245

13.8.6使用DOM操作页面 246

13.9高级事件处理 246

13.9.1事件对象 247

13.9.2使用JavaScript添加事件处理程序 250

13.10下拉菜单 253

13.10.1图13-23的逐行分析 255

13.10.2边框 255

13.11小结 255

13.12习题 256

第14章 AJAX基础 257

14.1 Ajax的实例 257

14.2 Ajax概述 258

14.2.1异步——Ajax中的A 260

14.2.2 XML——Ajax中的X 260

14.2.3 JavaScript——Ajax中的J 260

14.3创建和发送请求 260

14.3.1创建请求对象 261

14.3.2告诉请求对象向哪里发送请求 261

14.3.3当请求响应时做什么 262

14.3.4编写在请求响应后被调用的JavaScript 263

14.3.5发送请求 263

14.3.6组合起来 264

14.3.7取得结果 265

14.4示范异步性 265

14.5 Ajax和可用性 269

14.5.1后退按钮 269

14.5.2 URL和书签 269

14.5.3乏味的设计 269

14.6使用Ajax,或者不用Ajax 270

14.6.1坏:只因为你会 270

14.6.2坏:它是一种热门的新事物 270

14.6.3坏:使用新的模糊的手段取代有效的手段 270

14.6.4好:环境内的数据操作 270

14.6.5好:交互式部件 271

14.6.6好:保存状态 271

14.7小结 271

14.8习题 271

第15章 JavaScript和Ajax中的XML 273

15.1 Ajax和XML的实例 273

15.2 Google Suggest 275

15.3 XML 276

15.4 XML的规则 277

15.4.1 XML标题 277

15.4.2 XML元素 278

15.4.3 XML属性 278

15.4.4不合法的XML字符 278

15.4.5 XML文档只有一个根元素 279

15.4.6对XML格式的最后说明 279

15.5处理XML 279

15.5.1图15-6的逐行分析 281

15.5.2 Internet Explorer、responseXML和客户端Ajax 285

15.5.3 XML中空格的问题 285

15.6创建翻译建议应用程序 286

15.6.1查找翻译 287

15.6.2显示结果 289

15.7小结 290

15.8习题 290

第16章 服务器端Ajax 293

16.1服务器端Ajax的实例 293

16.2 Web服务器的能力 295

16.3服务器端编程语言 297

16.4 PHP基础 297

16.5通过GET请求向PHP发送简单的输入 298

16.5.1在URL中传递输入 299

16.5.2用PHP读取GET请求中的输入 300

16.6 使用Ajax的GET请求创建Google Suggest应用程序 301

16.6.1使用Ajax和PHP联系第三方Web服务器 302

16.6.2定制的Google Suggest应用程序的JavaScript部分 302

16.6.3使用PEP联络其他Web服务器 306

16.7 Ajax和POST方法 307

16.7.1适合Ajax的表单 308

16.7.2通过Ajax发送POST请求 309

16.7.3从浏览器向Web服务器发送XML信息 311

16.8 HEAD请求:取得与服务器端文件有关的信息 311

16.8.1为响应添加头部信息 312

16.8.2头部与XML 312

16.9缓存问题 313

16.10 PHP中的文件处理 313

16.10.1通过PHP为文本文件创建和添加内容 313

16.10.2在PEP中读取文件 314

16.11如何应对通信中断 315

16.12当服务器端文件改变时自动更新网页 317

16.12.1 readFileDo Function() 319

16.12.2 callReadFile() 319

16.12.3 callUpdateIf Changed() 320

16.12.4 stopTimer() 320

16.12.5回顾与引申 320

16.12.6 服务器端PEP代码 320

16.13小结 321

16.14习题 321

第17章 综合应用实例:共享的To Do列表 323

17.1 To Do列表应用程序的功能 323

17.2 To Do列表的数据文件 326

17.2.1 userInfo.xml 326

17.2.2 To Do列表文件 327

17.3 To Do列表的服务器端 328

17.4 To Do列表的客户端,第1部分:HTML 329

17.5 To Do列表的客户端,第2部分:JavaScript 330

17.5.1函数的路线图 331

17.5.2登录或退出应用程序 331

17.5.3与登录相关的函数 333

17.5.4辅助函数 335

17.5.5显示可用的列表 337

17.5.6显示特定的列表 340

17.5.7处理对列表的修改 344

17.5.8操纵XML文档的限制 347

17.5.9添加新条目 349

17.6简短的结束语 350

17.6.1客户端代码还是服务器端代码 351

17.6.2安全问题 351

17.7小结 352

17.8习题 353

第18章 调试JavaScript和Ajax 355

18.1良好的编程习惯 355

18.1.1从注释开始 356

18.1.2填充代码 356

18.2避免常见的错误 357

18.2.1使用一致的命名约定 357

18.2.2避免使用保留字 357

18.2.3别忘了在逻辑测试中使用两个等号 358

18.2.4正确地使用引号 358

18.3发现bug 359

18.3.1通过alert()语句输出变量 359

18.3.2除alert()之外的调试手段 360

18.3.3使用浏览器的bug检测程序 362

18.3.4使用JavaScript调试程序 362

18.3.5在Firefox 1.5和2.0中调试Ajax 366

18.3.6其他调试资源 367

18.4修改bug 368

18.4.1备份程序 368

18.4.2一次修改一个bug 368

18.4.3避免巫毒编程 369

18.4.4查找类似的bug 369

18.4.5保持头脑清醒 369

18.4.6寻求帮助 369

18.5小结 370

附录A 习题答案 371

附录B 学习资源 397

附录C JavaScript对象和函数参考 403

附录D 第15章的意大利语翻译程序和第17章的To Do列表应用程序 451