标题：JavaScript基础教程（第8版）
出版信息
原书名： JavaScript:Visual QuickStart Guide,Eighth Edition 
原出版社： Peachpit Press  
作者： (美)Tom Negrino    Dori Smith    [作译者介绍] 
译者： 陈剑瓯 柳靖 
丛书名： 图灵程序设计丛书 
出版社：人民邮电出版社 
ISBN：9787115276766
上架时间：2012-4-16
出版日期：2012 年4月
开本：16开
页码：386
版次：8-1
内容简介
《javascript基础教程(第8版)》循序渐进地讲述了javascript 及相关的css、dom、ajax、jquery 等技术。书中从javascript 语言基础开始，分别讨论了图像、框架、浏览器窗口、表单、正则表达式、用户事件和cookie，并在上一版的基础上新增了两章，讲述jquery 框架的基础知识。本书不仅介绍了基础知识和使用方法，也深入探讨了javascript 应用示例。
《javascript基础教程(第8版)》适合有志于从事web 开发和web 设计的初学者阅读，也是高校相关课程理想的教材。
目录
《javascript基础教程(第8版)》 
第1章 了解javascript 1 
1.1 javascript是什么 1 
1.2 javascript不是java 2 
1.3 javascript的起源 3 
1.4 javascript可以做什么 3 
1.5 javascript不能做什么 3 
1.6 ajax是什么 4 
1.7 组合式（snap-together）语言 5 
1.7.1 对象 5 
1.7.2 属性 6 
1.7.3 方法 6 
1.7.4 将对象、属性和方法组合在一起 6 
1.7.5 dom简介 7 
1.8 处理事件 7 
1.9 值和变量 8 
1.9.1 操作符 8 
1.9.2 赋值和比较 9 
1.9.3 比较 9 
1.10 编写对javascript友好的html 10 
.1.10.1 结构、表现和行为 10 
1.10.2 div和span 10 
1.10.3 class和id 11 
1.11 要使用什么工具 12 
第2章 开始 13 
2.1 将脚本放在哪里 13 
2.2 关于函数 14 
2.3 使用外部脚本 15 
2.4 在脚本中添加注释 17 
2.5 向用户发出警告 18 
2.6 确认用户的选择 19 
2.7 提示用户 21 
2.8 用链接对用户进行重定向 22 
2.9 使用javascript改进链接 25 
2.10 使用多级条件 28 
2.11 处理错误 30 
第3章 第一个web应用程序 33 
3.1 用循环进行重复操作 33 
3.2 将值传递给函数 37 
3.3 探测对象 39 
3.4 处理数组 40 
3.5 处理有返回值的函数 42 
3.6 更新数组 43 
3.7 使用do/while循环 44 
3.8 以多种方式调用脚本 46 
3.9 组合使用javascript和css 47 
3.10 检查状态 50 
3.11 处理字符串数组 55 
第4章 处理图像 59 
4.1 创建翻转器 59 
4.2 创建更有效的翻转器 61 
4.3 构建三状态翻转器 64 
4.4 由链接触发翻转器 66 
4.5 让多个链接触发一个翻转器 68 
4.6 处理多个翻转器 71 
4.7 创建循环的广告条 74 
4.8 在循环广告条中添加链接 76 
4.9 建立循环式幻灯片 78 
4.10 显示随机图像 80 
4.11 随机开始循环显示图像 81 
第5章 窗口与框架 83 
5.1 防止页面显示在框架中 83 
5.2 设置目标 84 
5.3 用javascript加载iframe 86 
5.4 iframes的使用 87 
5.5 创建动态iframe 89 
5.6 在文档之间共享函数 90 
5.7 打开新窗口 92 
5.8 为窗口加载不同的内容 96 
第6章 表单处理 98 
6.1 选择并转移导航菜单 99 
6.2 动态地改变菜单 102 
6.3 建立必须填写的字段 104 
6.4 根据其他字段对字段进行检查 109 
6.5 标识有问题的字段 111 
6.6 准备进行表单验证 113 
6.7 处理单选按钮 117 
6.8 用一个字段设置另一个字段 119 
6.9 检验zip编码 122 
6.10 验证电子邮件地址 126 
第7章 表单和正则表达式 131 
7.1 用正则表达式验证电子邮件地址 131 
7.2 验证文件名 136 
7.3 提取字符串 139 
7.4 格式化字符串 141 
7.5 对字符串进行格式化和排序 144 
7.6 对字符串进行格式化和验证 146 
7.7 使用正则表达式替换元素 148 
第8章 处理事件 151 
8.1 处理窗口事件 151 
8.1.1 onload事件 151 
8.1.2 onunload事件 154 
8.1.3 onresize事件 154 
8.1.4 onmove事件 156 
8.1.5 onabort事件 156 
8.1.6 onerror事件 156 
8.1.7 onfocus事件 156 
8.1.8 onblur事件 157 
8.2 处理鼠标事件 158 
8.2.1 onmousedown事件 158 
8.2.2 onmouseup事件 161 
8.2.3 onmousemove事件 161 
8.2.4 onmouseover事件 163 
8.2.5 onmouseout事件 163 
8.2.6 ondblclick事件 164 
8.2.7 onclick事件 165 
8.3 表单事件处理 165 
8.3.1 onsubmit事件 165 
8.3.2 onreset事件 165 
8.3.3 onchange事件 166 
8.3.4 onselect事件 166 
8.3.5 onclick事件 166 
8.3.6 onblur事件 166 
8.3.7 onfocus事件 168 
8.4 键事件处理 169 
8.4.1 onkeydown事件 169 
8.4.2 onkeyup事件 172 
8.4.3 onkeypress事件 172 
第9章 javascript和cookie 173 
9.1 建立第一个cookie 173 
9.2 读取cookie 176 
9.3 显示cookie 177 
9.4 使用cookie作为计数器 178 
9.5 删除cookie 180 
9.6 处理多个cookie 182 
9.7 显示新内容提醒信息 184 
第10章 对象和dom 189 
10.1 关于节点操纵 189 
10.1.1 dom 2和w3c 189 
10.1.2 dom 2术语 189 
10.1.3 dom 3 190 
10.2 添加节点 191 
10.3 删除节点 192 
10.4 删除特定的节点 194 
10.5 插入节点 197 
10.6 替换节点 199 
10.7 用对象字面值编写代码 202 
第11章 建立动态页面 206 
11.1 在网页上显示当前日期 206 
11.2 处理周中的日期 208 
11.3 根据时间对消息进行定制 209 
11.4 根据时区显示日期 210 
11.5 把24小时制转换为12小时制 213 
11.6 创建倒数计数器 216 
11.7 隐藏和显示层 219 
11.8 移动文档中的对象 221 
11.9 日期方法 223 
第12章 javascript应用示例 225 
12.1 使用可折叠菜单 225 
12.2 添加下拉菜单 228 
12.3 改进下拉菜单 230 
12.4 带说明的幻灯片 233 
12.5 一个无聊的姓名生成器 236 
12.6 柱状图生成器 240 
12.7 样式表切换器 246 
第13章 ajax简介 253 
13.1 ajax的定义 253 
13.2 读取服务器数据 255 
13.3 解析服务器数据 261 
13.4 刷新服务器数据 266 
13.5 从服务器获得数据 267 
13.6 用ajax预览链接 270 
13.7 自动补全表单字段 273 
第14章 工具包、框架和库 279 
14.1 添加jquery 280 
14.2 使用jquery更新页面 282 
14.3 使用jquery交互 282 
14.4 交互与更新 284 
14.5 自动完成字段 287 
第15章 用jquery设计页面 289 
15.1 突出显示新元素 289 
15.2 创建可折叠菜单 292 
15.3 创建更漂亮的对话框 294 
15.4 条纹表格 298 
15.5 表格排序 301 
第16章 基于jquery的应用 306 
16.1 以jquery为基础 306 
16.2 使用themeroller定制外观 307 
16.3 在页面中添加日历 309 
16.4 拖放元素 313 
16.5 使用jquery处理外部数据 316 
16.6 使用jquery插件 322 
第17章 bookmarklet 328 
17.1 第一个bookmarklet 328 
17.2 改变页面的背景颜色 333 
17.3 改变页面样式 334 
17.4 查询单词 335 
17.5 查看图像 337 
17.6 显示iso latin字符 339 
17.7 将rgb值转换为十六进制 340 
17.8 对值进行转换 341 
17.9 bookmarklet计算器 342 
17.10 缩短url 344 
17.11 检验页面 344 
17.12 通过电子邮件发送页面 345 
17.13 改变页面大小 346 
附录a javascript的版本演化和参考资料 348 
附录b javascript保留字 373 
附录c css参考 376 
附录d 其他学习资源 386
前言
欢迎使用JavaScript！使用这种容易上手的程序设计语言，可以给网页增色，使网页更好用。本书是一本轻松的JavaScript入门教程，所以即使不是计算机高手，你也可以由此很快学会脚本编写。任何时候你都不需要借助工具包。就像我们的一位朋友说的：“我们已经够疯狂了，所以你没有必要这样做啦！” 
读者对象我们猜想既然你有兴趣学习JavaScript，那么肯定有创建HTML页面和Web站点的经验，而且希望更进一步，使站点更具交互性。学习本书并不要求你了解任何编程或脚本编程的知识，也不要求你是HTML专家（当然，如果你是HTML专家也无妨）。我们只假设你具备构建网页的基本知识，而且熟悉常用的HTML标签，比如链接、图像和表单。 
在某些章首题为“目前需要了解的HTML知识”的表中，我们对HTML做了一些解释。并非每章都有这部分内容，只有在我们认为你需要速查的地方才会提供。有了这些HTML信息，你就不需要在阅读本书的同时，再去翻另一本书或者打开相关网页查找HTML属性的语法了 。 
如果你对编程有所了解，应该会注意到本书介绍JavaScript的方式与其他图书的风格很不一样。本书并不深入介绍JavaScript的语法和结构，而且本书也不是一本深入而全面的语言参考书（当然附录A中提供了一些很有价值的内容）。这方面市面上已经有不少很好的书，附录D中列出了它们。本书和这些书之间的差异是，本书并不拘泥于形式，而是集中地演示如何用JavaScript完成一些有用的任务，不赘述大量的额外信息。 
在本书的前几版中，我们增加了对Ajax的介绍。这种技术结合使用了JavaScript和其他常用的Web技术为网页增加交互性，并且改善了Web站点的用户体验。本书提供了Ajax基础知识和实际示例，帮助你给站点增加Ajax功能，而不必深入学习Web编程。在这个版本中，我们添加了更多示例和技术介绍，使用jQuery框架（你可能将其当做构建块）来向网站轻松添加有用的功能。 
如何使用本书本书采用一些特殊的版式，帮助你更轻松地学习和理解JavaScript。 
组成本书的大部分内容由分步说明构成。我们在书中以特殊的字体样式表示HTML或JavaScript代码，比如： 
[div id = "thisDiv"] 
window.onload = initLinks; 
你还会注意到，HTML和JavaScript代码都显示为小写。这么做是因为，这个版本中的所有脚本都符合W3C（World Wide Web Consortium，万维网联盟）的HTML 5标准。当在JavaScript中看到引号时，总是直引号（'或"），而不是弯引号（‘或“）。弯引号会使JavaScript失效，在编写脚本时应该避免使用。 
在与分步说明对应的脚本中，我们以粗体突出显示脚本中正在讨论的部分，这样你就能够马上找到我们正在讨论的代码。我们还常常在Web浏览器窗口的屏幕图中以灰色底纹突出显示其中某些重要的部分。 
因为图书的页面比计算机屏幕窄，所以一些JavaScript代码行在页面上排不开。出现这种情况时，我们将代码行分为多行，在接续行前面使用箭头→表示这是续行，并且将续行缩进，如下所示： 
dtString = "Hey, just what are you 
→ doing up so late?"; 
关于浏览器在第6版中有一个大的变化：我们不再支持那些版本非常老的浏览器或者那些在支持Web标准方面做得很差的浏览器。我们发现，几乎所有Web用户都升级到了现代浏览器，它们充分地支持公认的Web标准（比如HTML、CSS2和DOM）。这包括IE 7或更高版本，Firefox 1.0或更高版本，Safari和Chrome的所有版本，以及Opera 7或更高版本。 
我们在几种操作系统上的多个浏览器中测试了脚本，这些操作系统包括Windows（Vista和Windows 7）、Mac OS X（10.4.11或更高版本）和Ubuntu Linux（我们只在Ubuntu的默认浏览器Firefox中测试了脚本）。 
我们使用最主流的浏览器——微软Windows版本的IE——虚拟测试了本书中的所有内容（我们使用了IE 7、IE 8和IE 9）。我们还用Mac平台和Windows平台上的Firefox 3和Firefox 4以及Safari 5对脚本做了测试。使用Safari 5进行测试，意味着这些脚本对于从WebKit引擎衍生出来的任何浏览器（比如Google Chrome）都可以正常使用，对基于KHTML（Safari最开始使用的开源呈现引擎）的浏览器（比如Linux 浏览器Konqueror ）也可以正常使用。WebKit也是移动操作系统浏览器核心之一，比如苹果的iOS、Google的Android、Research in Motion的Blackberry 6及更高版本，以及HP的WebOS。至此，我们主要将脚本在iPhone和iPad上面做了测试。不必输入代码一些JavaScript图书只在书中印刷出脚本代码，你在实践时必须自己输入代码。我们认为这种方式已经过时了。作者们不得不完成这些艰苦的输入工作，但是你不必重复这些劳动。我们为本书提供了一个配套Web站点，其中包含本书中的所有脚本，你可以将这些脚本复制并粘贴到自己的网页中。这个站点还包含其他提示和脚本。如果我们在书中发现了任何错误，也会在这里给予更正。 
如果由于某种原因你打算输入某些脚本示例，那么可能会发现这些示例似乎不起作用，这是因为你没有这些示例所用的支持文件。例如，在图像上实现屏幕效果的示例中，需要图像文件。但请放心，这些文件都放在本书的Web站点上了，而且打包好了供你下载。你找到的可下载文件包含所有脚本、HTML文件、CSS文件以及用到的所有媒体文件。如果你遇到任何问题，可以查看配套Web站点上的FAQ（常见问题）。 
如果阅读了FAQ，而你的问题还没有解决，可以通过给我们发邮件。很抱歉地说一声，因为收到的邮件太多，所以我们不可能也不会回复那些把本书问题发送到我们个人邮件地址的邮件。但是，我们可以保证发送到的邮件会得到答复。 
开始吧 
JavaScript最好的一点是它很容易用一个简单的脚本在网页上实现很酷的效果，然后根据需要逐渐添加更复杂的素材。你不必等到学完整本书，就可以开始改进自己的网页。等到你看完本书的时候，将能用Ajax和jQuery给站点添加高级的交互效果了。 
当然，千里之行，始于足下。欢迎光临，请勿将手伸出窗外，照相时请不要用闪光灯。探索JavaScript的旅程已经开始。 
致谢特别感谢我们的编辑Nancy Peterson，她的专业精神、冷静沉着和温暖的关怀使本书的写作过程非常愉悦。 
感谢Tracey Croom出色的制作工作和Scout Festa熟练的文字加工工作。 
我们衷心感谢本书的排版人员Danielle Foster，她优雅镇定地完成了排版工作。感谢给本书编索引的Emily Glossbrenner，她做了一项吃力不讨好的工作。 
我们要感谢Peachpit出版社的Nancy Ruenzel和Nancy Davis所给与的支持。 
我们要感谢采用本书以前的版本作为课程教材的所有高中、大专院校的教师。 
在我们签署了本书的合同之后，着手开工之前，Dori在Stack Exchange 找到了她梦寐以求的工作。如果没有别人的大力帮助，她不可能在两份工作同时进行的情况下还能保持清醒的头脑。因此Dori心中充满感激，特别要感谢下列人士。 
感谢Stack的所有同事，尤其是Joel Spolsky、Jeff Atwood、Robert Cartaino、Rebecca Chernoff以及Josh Heyer。他们拿出了大量的时间和耐心来帮助我，才让我在创作本书的过程中没把工作丢掉。 
也非常感谢Peachpit公司那位极具耐心的女士——我们做了14年同事，但我仍然很敬佩她的创造力。 
我要特别地感谢本书的另一位作者Tom Negrino。他为这版书所做的工作远远超出了原先的分工，甚至还将他（和我）的结婚十周年纪念推迟到了本书完成之后。 
媒体评论
“本书是我所见过的讲解最清晰、内容最全面、最吸引人的JavaScript程序设计图书。” 
——亚马逊读者评论