推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

JavaScript高级程序设计(第3版)非扫描版

更新时间:2019-12-10 13:38:40 大小:23M 上传用户:LDJ12223查看TA发布的资源 标签:javascript 下载积分:2分 评价赚积分 (如何评价?) 收藏 评论(1) 举报

资料介绍

JavaScript高级程序设计(第3版)非扫描版.pdf。十分有用的书籍

部分文件列表

文件名 大小
1575956212JavaScript高级程序设计(第3版)非扫描版.pdf 23M

部分页面预览

(完整内容请下载后查看)
图灵社区会员 StinkBC() 专享 尊重版权  
图灵社区会员 StinkBC() 专享 尊重版权  
内 容 提 要  
本书是 JavaScript 超级畅销书的最新版ECMAScript 5 HTML5 在标准之争中双双胜出使大量  
专有实现和客户端扩展正式进入规范同时也为 JavaScript 增添了很多适应未来发展的新特性本书这  
一版除增加 5 章全新内容外其他章节也有较大幅度的增补和修订新内容篇幅约占三分之一全书从  
JavaScript 语言实现的各个组成部分——语言核心DOMBOM事件模型讲起深入浅出地探讨了面向  
对象编程Ajax Comet 服务器端通信HTML5 表单媒体Canvas包括 WebGLWeb Workers、  
地理定位跨文档传递消息客户端存储包括 IndexedDB等新 API还介绍了离线应用和与维护性  
部署相关的最佳开发实践本书附录展望了未来的 API ECMAScript Harmony 规范。  
本书适合有一定编程经验的 Web 应用开发人员阅读也可作为高校及社会实用技术培训相关专业课  
程的教材。  
图灵程序设计丛书  
JavaScript高级程序设计(第3版)  
著ꢀꢀꢀꢀ[] Nicholas C. Zakas  
译ꢀꢀꢀꢀ李松峰ꢀ曹ꢀ力  
责任编辑ꢀ朱ꢀ巍  
人民邮电出版社出版发行ꢀꢀ北京市崇文区夕照寺街14号  
邮编ꢀ100061ꢀꢀ电子邮件ꢀ
网址ꢀ
北京ꢀꢀꢀꢀꢀꢀ印刷  
开本800×10001/16  
印张46.75  
彩插8  
1092字  
20123 月第 1 版  
20123 月北京第 1 次印刷  
印数1  
6 000册  
著作权合同登记号 图字01-2012-1175 号  
ISBN 978-7-115-27579-0  
定价99.00元  
(
)
(
)
读者服务热线: 010 51095186604ꢀ印装质量热线: 010 67129223  
(
)
反盗版热线: 010 67171154  
图灵社区会员 StinkBC() 专享 尊重版权  
1
2
版 权 声 明  
3
Original edition, entitled Professional JavaScript for Web Developers 3rd Edition, by Nicholas C. Zakas  
ISBN 978-1-118-02669-4, published by John Wiley & Sons, Inc.  
Copyright ©2012 by John Wiley & Sons, Inc.All rights reservedThis translation published under License.  
4
Translation edition published by POSTS & TELECOM PRESS Copyright ©2012.  
Copies of this book sold without a Wiley sticker on the cover are unauthorized and illegal.  
5
本书简体中文版由 John Wiley & Sons, Inc.授权人民邮电出版社独家出版。  
本书封底贴有 John Wiley & Sons, Inc.激光防伪标签,无标签者不得销售。  
版权所有,侵权必究。  
6
7
8
9
10  
11  
12  
13  
图灵社区会员 StinkBC() 专享 尊重版权  
20 多年的职业生涯也长出了白头发首往事经对我的职业道路产生过重要影响的技术和  
人历历在目。如果让我只说一种技术,一种对我产生了最大正面影响的技术,那么就是 JavaScript。说  
实话,我也并非一直都是 JavaScript 的信徒。跟许多人一样,我以前也把它当作一门玩具语言,认为它  
只能用来做一些旋转的横幅广告者在页面中添加一些有意思的交互效果作为装饰原来是做服务  
器端开发的,我们都对这种玩具语言不感冒,该死的!可是,后来 Ajax 出现了。  
永远也忘不了当时无孔不入的 Ajax家都认为它是一种非常酷常新时极具创造性的技术。  
我也开始了解它,阅读相关资料。知道这门曾被我嗤之以鼻的玩具语言如今被每一位专业 Web 开发人  
员津津乐道之后,我感到很震惊。突然,我的看法就转变了。随着探索 Ajax 的继续深入,我认识到  
JavaScript 的强大威力切地想了解它能提供的所法宝全身心地投入到学习 JavaScript  
之中,不仅努力学习这门语言,还加入了 jQuery 项目团队,专门从事客户端开发。我的日子过得很爽。  
JavaScript 了解得越深,接触的开发人员就越多,其中不乏今天在我眼里依然是巨星和导师级的  
人物。尼古拉斯·泽卡斯(本书作者)就是这样一位开发人员。我一直记得在读本书第 2 版时心中油然  
而生的喜悦之情然我也有多年的积累仍然从中学到了很多新东西本书实实在在入浅出,  
读来就好像尼古拉斯对不同层次的读者都了如指掌,所以他的风格才那么贴切自然。对于技术书来说,  
这是非常突出的一个特色。多数作者都想靠坚深的技术给人留下印象,但这本书不同。所以,它很快就  
成为了我案头必备的书,我也会向那些有志全面掌握 JavaScript 的开发人员推荐这本书。我希望每个人  
对这本书都能有跟我一样的体会,认识到它的价值所在。  
后来一次 jQuery大会上荣幸地见到了尼古拉斯本人在我面前的是一位世界顶级的 JavaScript  
开发人员且正负责世界上最重要的一个 Web 雅虎古拉斯是我见过的最随和的人之一真  
的,见到他的时候我有一种追星族的幻觉。但他就是那么一个活生生的人,一个想帮助开发人员成就梦想  
的人。不仅他的书改变了我对 JavaScript 的认识,而且尼古拉斯这个人,也让我愿意接近,愿意了解。  
听说尼古拉斯要请我作序,我激动得不知道说什么才好。在此,我代表大牛来为本书暖场。这个序  
也是他本人有多么令人景仰的一个明证。不过,更重要的是,这也给了我一个机会,让我能跟大家分享  
自己为什么觉得这本书如此重要。我看过很多 JavaScript 图书,的确也有很多令人叹服的佳作。但在我  
看来,这本书为读者成为全方位的 JavaScript 高手提供了“一揽子方案。  
这本书从介绍表达式和变量声明开始,平滑地过渡到了闭包、面向对象开发等高级主题。与那些把  
大量篇幅花在讲解背景知识上的书,以及那些让人感觉好像是要使用 JavaScript 开发导弹制导系统的书  
相比,这本书让人感觉细致周到、亲切自然。这是一本写给“普通人”的书,它能让你编写出引以为荣  
的代码,构建出令人叫绝的网站。  
·邦戈(Rey Bango)  
微软公司高级布道师,jQuery 项目团队核心成员  
图灵社区会员 StinkBC() 专享 尊重版权  
献给我的父母,是他们永远给我支持和鼓励。  
前 言  
从驱动全球商业、贸易及管理领域不计其数的复杂应用程序的角度来看,说 JavaScript 已经成为当  
今世界上最流行的编程语言一点儿都不为过。  
4
JavaScript 是一种非常松散的面向对象语言,也是 Web 开发中极受欢迎的一门语言。JavaScript,尽  
管它的语法和编程风格与 Java 都很相似,但它却不是 Java 的“轻量级”版本,甚至与 Java 没有任何关  
系。JavaScript 是一种全新的动态语言,它植根于全球数亿网民都在使用的 Web 浏览器之中,致力于增  
强网站和 Web 应用程序的交互性。  
5
在本书中,我们将对 JavaScript 追根溯源,从它在最早的 Netscape 浏览器中诞生谈起,一直谈到今  
天的它对 DOM Ajax 的强大支持者将通过本书掌握如何运用和扩展这门语言而更好地满足自  
己的需求,以及如何实现客户端与服务器的无缝通信,而又不必求助于 Java 或隐藏的网页框架(frame  
元素一言以蔽之,本书将教会你在面对各种常见的 Web 开发问题时,如何拿出自己的 JavaScript 解  
决方案。  
6
7
本书读者对象  
本书将下列三类人员作为目标读者:  
8
(1) 熟悉面向对象编程验丰富而又打算学习 JavaScript 的开发人员JavaScript 毕竟与 JavaC++  
等传统 OO 语言存在着诸多联系;  
(2) 有意提升自己网站和 Web 应用程序易用性的 Web 开发人员;  
(3) 希望全面深入地理解这门语言的初级 JavaScript 开发人员。  
此外,本书也适合熟悉下列相关技术的读者阅读:  
9
(1) Java  
10  
11  
12  
13  
(2) PHP  
(3) ASP.NET  
(4) HTML  
(5) CSS  
(6) XML  
本书不适合没有计算机基础知识的初学者不适合只想为网站添加简单交互功能的读者议这  
些朋友学习阅读 Beginning JavaScript, 3rd EditionWiley, 2007)一书 。  
——————————  
① 本书中文版《JavaScript 入门经典(第 3 已经由清华大学出版社出版。——译者注(以下脚注如无特殊说明,  
均为译者注)  
图灵社区会员 StinkBC() 专享 尊重版权  
2
本书内容  
本书提供了 JavaScript 开发人员必须掌握的内容,全面涵盖了 JavaScript 的各种高级、有用的特性。  
本书首先介绍了 JavaScript 的起源及其发展现状,随后讨论了构成 JavaScript 实现的各个组成部分,  
重点讲解了 ECMAScript DOM 标准。此外,还对不同 Web 浏览器的 JavaScript 实现之间存在的差异,  
给出了相应的说明。  
在此基础上书从讲解 JavaScript 的基本概念入手讨了 JavaScript 面向对象程序设计和继承的  
方式,以及如何在 HTML 等标记语言中使用它。在深入剖析了事件和事件处理之后,又解释了各种浏  
览器检测技术。本书还探讨了 HTML5Selectors API File API 等一系列新 API。  
本书最后一部分专门讨论了高级主题,涉及性能和内存优化、最佳实践以及对 JavaScript 未来的  
展望。  
本书结构  
本书共 25 章,各章简介如下。  
1 章“JavaScript 简介,讲述了 JavaScript 的起源:因何而生,如何发展,现状如何。涉及的  
概念主要有 JavaScript ECMAScript 之间的关系、DOMDocument Object Model,文档对象模型、  
BOMBrowser Object Model浏览器对象模型此外,还将讨论 ECMAEuropean Computer  
Manufacturer’s Association,欧洲计算机制造商协会)和 W3CWorld Wide Web Consortium,万维网联  
盟)制定的一些相关标准。  
2 章“HTML 中使JavaScript,介绍了如何在 HTML 中使用 JavaScript 创建动态网页。  
这一章不仅展示了在网页中嵌入 JavaScript 的各种方式讨论了 JavaScript 内容类content-type及  
其与<script>元素的关系。  
3 章“基本概念,讨论了 JavaScript 语言的基本概念,包括语法和流控制语句。这一章也分析  
JavaScript 与其他基于 C 的语言在语法上的相同和不同之处,还介绍了与内置操作符有关的类型转换  
问题。  
4 章“变量、作用域和内存问题,探讨了 JavaScript 如何处理其松散类型的变量。这一章还讨  
论了原始值和引用值之间的差别,以及与变量有关的执行环境的相应内容。最后,通过介绍 JavaScript  
的垃圾收集机制,解释了变量在退出作用域时释放其内存的问题。  
5 章“引用类型,详尽介绍了 JavaScript 内置的所有引用类型,如 Object Array。这一  
章对 ECMA-262 规范中描述的每一种引用类型既做了理论上的阐释,又从浏览器实现的角度给出了  
介绍。  
6 章“面向对象的程序设计,讲述了在 JavaScript 中如何实现面向对象的程序设计。由于  
JavaScript 没有类的概念,因此这一章从对象创建和继承的层面上展示了一些流行的技术。此外,这一  
章还讲解了函数原型的概念,并对函数原型与整个面向对象方法的关系进行了探讨。  
7 章“函数表达式,集中介绍了 JavaScript 中最为强大的一个特性——函数表达式。相关的内  
容涉及闭包、this对象的角色、模块模式和创建私有对象成员等。  
8 章“BOM,介绍 BOMBrowser Object Model,浏览器对象模型即负责处理与浏览器自  
身有关的交互操作的对象集合。这一章全面介绍了每一个 BOM 对象,包括 windowdocument、  
图灵社区会员 StinkBC() 专享 尊重版权  
3
locationnavigatorscreen。  
1
9 客户端检测论了检测客户端机器及其支持特性的各种手段括特性检测及用户代  
理字符串检测的不同技术。这一章还就每种手段的优缺点及适用情形给出了详细说明。  
10 DOMDOMDocument Object Model档对象模型DOM1 规定的 JavaScript  
中的 DOM 对象一章也简要介绍了 XML 及其与 DOM 的关系深入探讨所有 DOM 规范及其定义  
的操作网页的方式奠定了基础。  
2
11 DOM 扩展,介绍了其他 API 以及浏览器本身为 DOM 添加的各种功能。涉及内容包括  
Selectors APIElement Traversal API HTML5 扩展。  
3
12 章“DOM2 DOM3,在前两章的基础上继续探讨了 DOM2 DOM3 中新增的 DOM 属  
性、方法和对象。这一章还讨论了 IE 与其他浏览器的兼容性问题。  
4
13 章“事件,解释了 JavaScript 中事件的本质,对遗留机制的支持,以及 DOM 对事件机制的  
重新定义。这一章讨论了多种设备,包括 Wii iPhone。  
14 章“表单脚本,讲述如何使用 JavaScript 增强表单的交互性,突破浏览器的局限性。这一  
章的讨论主要围绕单个表单元素如文本框、选择框,以及围绕数据验证和操作展开。  
15 使用 Canvas 绘图,讨论了<canvas>标签以及如何通过它来动态绘图。不仅涵盖 2D  
上下文,也将讨论 WebGL3D)上下文,可以为创建动画和游戏夯实基础。  
16 章“HTML5 脚本编程,介绍了 HTML5 规定的 JavaScript API,涉及跨文档传递消息、拖  
API 和以编程方式控制<audio><video>元素,以及管理历史状态。  
17 章“错误处理与调试,讨论浏览器如何处理 JavaScript 代码错误,并展示了一些处理错误  
的方式。这一章针对每种浏览器分别讨论了相应的调试工具和技术,还给出了简化调试工作的建议。  
18 章“JavaScript XML,展示了 JavaScript 中用于读取和操作 XMLeXtensible Markup  
Language,可扩展标记语言)的特性。这一章分析了不同浏览器提供的 XML 支持和对象的差异,给出  
了编写跨浏览器代码的简易方法一章还介绍了用于在客户端转XML数据XSLTeXtensible  
Stylesheet Language Transformations,可扩展样式表语言转换)技术。  
5
6
7
8
19 章“E4X,讨论了 E4XECMAScript for XMLECMAScript 中的 XML 扩展设计 E4X 的  
出发点是简化 XML 处理任务。这一章探讨了在处理 XML 时,使用 E4X 与使用 DOM 相比有哪些  
优势。  
9
20 章“JSON,介绍了作为 XML 替代格式的 JSON,包含浏览器原生支持的 JSON 解析和序  
列化,以及使用 JSON 时要注意的安全问题。  
10  
11  
12  
13  
21 Ajax Comet解了常用的 Ajax 技术括使用 XMLHttpRequest对象及 CORS  
Cross-Origin Resource Sharing,跨来源资源共享)API 实现跨域 Ajax 通信。这一章展示了浏览器在实  
现与支持方面存在的差异,同时也给出了一些使用建议。  
22 章“高级技巧,深入讲解了一些 JavaScript 中较复杂的模式,包括函数柯里化(currying、  
部分函数应用和动态函数。这一章还讨论了如何创建自定义的事件框架和使用 ECMAScript 5 创建防篡  
改对象。  
23 离线应用与客户端存储论了如何检测应用离线以及在客户端机器中存储数据的各  
种技术。先从受到最广泛支持的特性 cookie 谈起,继而介绍了新兴的客户端存储技术,如 Web Storage  
IndexedDB。  
图灵社区会员 StinkBC() 专享 尊重版权  
4
24 章“最佳实践,探讨了在企业级环境中使用 JavaScript 的各种方式。其中,着眼于提高可  
维护性的内容包括编码技巧式化和通用编程实践一章还介绍了改善代码执行性能及速度优化的  
一些技术。最后讨论了部署问题,包括如何创建构建过程。  
25 新兴的 API绍了为增强浏览器中的 JavaScript 而创建的新 API然这些 API 还没  
有得到完整或全面的支持,但它们已经崭露头角,有些浏览器也已经部分地实现了这些 API。这一章的  
内容主要是 Web 计时和文件 API。  
使用示例  
要运行本书中的示例,需要安装下列软件:  
Windows XPWindows 7 Mac OS X;  
Internet Explorer 6 及更高版本、Firefox 2 及更高版本、Opera 9 及更高的版本、ChromeSafari 2  
及更高版本。  
完整的示例源代码可以从 中下载(下载步骤见“源代码”一节) 。  
排版约定  
为了让读者更好地理解本书内容,同时把握住全书的重点,本书将采用以下排版约定。  
这种带警告图标的方框样式,表示与上下文相关的重要的、需要牢记的内容。  
这种带钢笔图标的方框样式,表示与上下文相关的说明、提示、技巧、窍门和背  
景知识。  
正文中的样式说明如下。  
(1) 新术语及重要的词汇在首次出现时使用加粗字体以示强调;  
(2) 表示键盘命令组合的方式是 Ctrl+A;  
(3) 正文中的代码使用等宽字体,如 persistence.properties;  
(4) 代码有两种样式:  
var obj = new Object();  
// 大多数示例代码都没有加粗  
var obj = new Object();  
// 加粗的代码表示在上下文中特别重要  
源代码  
在学习本书示例代码时,可以手工敲入所有代码,也可以使用随书的源代码文件。本书所有源代码  
都可以到 中下载。登录该站点后,先找到本书(通过搜索或者图书列表打开本书页  
——————————  
① 读者也可以在图灵社区()本书的页面中免费注册下载。  
图灵社区会员 StinkBC() 专享 尊重版权  
5
面后,单击其中的 Download Code 链接,就可以下载本书的源代码了 。对于包含在下载文件中的源代  
1
码,书中会添加以下图标:  
2
本书代码示例旁边会附有文件名,从中可以找到对应的代码片段。文件名的格式如下:  
代码片段所在的文件名  
3
由于很多书的书名看起来类似,所以更好的方式是通过书的 ISBN 来搜索它。本  
书原版的 ISBN 978-1-118-02669-4。  
4
下载完代码后,请使用解压缩软件将其解压缩。此外,读者也可以登录 Wrox 代码下载主页  
,查找并下载本书及其他 Wrox 图书的示例代码。  
5
勘误信息  
6
我们尽最大努力确保正文和代码没有错误。可是,金无足赤,错误在所难免。如果读者发现我们书  
中的任何错误,例如错别字或代码片段无法运行等,希望您能及时给我们反馈。您提交的勘误不仅能让  
其他读者受益,而且也能帮助我们进一步提高图书质量。  
7
本书原版的勘误页面位于 中,登录该站点后可以通过搜索或查询图书列表找到本  
书页面,然后单击页面中的 Errata(勘误)链接。然后可以看到其他读者已经提交并由 Wrox 的编辑发  
布的勘误信息。另外,在 页面中也可以找到本书及勘误页面  
的链接。  
8
如果读者在本书勘误页面中没有发你的烦打开
页面,填写其中的表单并将错误发送给我们。我们会认真核对您提交的错误,如果错误确实存在,我们  
将把它补充到本书勘误页面中。同时,也将根据您提供的信息对本书后续版本加以改正。  
9
p2p.wrox.com  
10  
11  
12  
13  
如果您想与本书作者或者其他读者沟通,请加入 P2P 论坛(p2p.wrox.com该论坛是基于 Web 的  
系统,您可以在其中发表与 Wrox 图书及相关技术有关的帖子,并同其他读者或者技术用户交流。论坛  
提供了一个订阅功能,您可以选择当发表您感兴趣的帖子时通过邮件通知您。Wrox 的作者、编辑、其  
他行业的专家以及与您正在读同一本书的读者都会出现在这个论坛中。  
很多论坛不仅对您理解本书有帮助且还会对开发应用程序有帮助。  
要加入这个论坛,请按下面几个步骤进行:  
(1) 登录到 p2p.wrox.com,单击 Register(注册)链接;  
——————————  
① 翻译本书时,wrox.com 中下载本书代码的短地址为:。  
② 您也可以登录图灵社区(在本书页面中提交您发现的错误。  
图灵社区会员 StinkBC() 专享 尊重版权  

全部评论(1)

  • 2019-12-12 12:16:00suxindg

    谢谢分享