基本信息
- 原书名:Pragmatic Guide to JavaScript
- 原出版社: Pragmatic Bookshelf
- 作者: (法)Christophe Porteneuve
- 译者: 巩朋 张铁
- 丛书名: 图灵程序设计丛书
- 出版社:人民邮电出版社
- ISBN:9787115265562
- 上架时间:2011-11-9
- 出版日期:2011 年11月
- 开本:16开
- 页码:118
- 版次:1-1
- 所属分类:计算机 > 软件与程序设计 > 网络编程 > javascript
编辑推荐
左页原理右页代码,极速修炼Web开发秘技
专注于浏览器端脚本编程,提供快速的解决方案
任务驱动,以实战掌握JavaScript全貌
内容简介
计算机书籍
《JavaScript修炼之道》是JavaScript 的实战秘籍。作者将自己多年的编程经验融入其中,不仅可以作为学习之用,更是日常JavaScript 开发中不可多得的参考手册,使读者少走很多弯路。
《JavaScript修炼之道》的内容涵盖了当今流行的JavaScript 库的运行机制,也提供了许多应用案例。本书针对各任务采取对页式编排,在对各任务的讲解中,左页解释了任务的实现原理,而右页则举出了该任务的代码片段以及可供对照参考的相关任务,便于读者阅读和理解。
《JavaScript修炼之道》的读者既包括JavaScript 编程的新手,也包括已有不少Web 应用编程经验的开发者。
作译者
巩朋
本科毕业于大连理工大学,现为北京航空航天大学计算机系在读硕士。喜好读书,涉猎领域很广,尤其喜欢钻研程序设计语言理论。个人博客http://www.cnblogs.com/figure9。
张铁
本科毕业于北京航空航天大学,现在该校计算机系攻读硕士。拥有丰富的Web前端开发经验和扎实的编程理论基础,对函数式程序设计语言有浓厚的兴趣。
目录
第一部分 JavaScript 必备操作
任务1 动态选择方法及属性 2
任务2 通过模块模式实现代码访问控制 4
任务3 使用可选/可变/命名参数 6
第二部分 DOM、事件及定时器
任务4 获得DOM元素的引用 10
任务5 动态修饰内容 12
任务6 修改元素的内容 14
任务7 在DOM 加载完成后运行脚本 16
任务8 监听及停止监听事件 18
任务9 利用事件委托 20
任务10 将行为和自定义事件解耦 22
任务11 模拟后台处理 24
第三部分 UI 技巧
任务12 打造漂亮的tooltip 28
任务13 制作友好的弹窗 30
任务14 预载入图片 32
任务15 创造光箱特效 34
任务16 实现“无限翻页” 36
译者序
关于JavaScript的好书已有很多:入门级的有Jeremy Keith等人著的DOM Scripting ,进阶级的有Nicholas Zakas的Professional JavaScript for Web Developers 和Douglas Crockford的JavaScript: The Good Parts 。不过,对于前端开发来说,仅仅学习JavaScript这门语言是远远不够的。正如本书作者所言,使用原始的JavaScript编写网站前端就像用石斧和原木来建造一座摩天大厦:即便构建一个简单的Web应用,DOM中的不一致、浏览器兼容性问题以及JavaScript语言本身存在的问题也会使它变得诡异莫测。
本书作者从实用性出发,把前端开发中的常见问题归纳为一个个任务,给出了常用框架下实现这些任务的方法和注意事项。这些任务的覆盖面很广,从JavaScript语言的基本技巧,到DOM操纵、事件和定时器,再到UI技巧,甚至还包含现在流行的混搭(Mashup)技术。读者既可以把这本书作为JavaScript开发的快速参考手册,也可以通读本书,以深入理解JavaScript和各个流行框架的使用方法。
本书第一部分、第二部分和附录由巩朋翻译,其余部分则由张铁完成。我们已尽力保证译文准确、通顺,但限于自身的程序设计能力和文字表达水平,难免有所遗漏,希望读者在容忍的同时能够给予指正。
译者
2011年8月
前言
只要你在过去几年中对JavaScript有一丁点留意,你就会听过这个说法:JavaScript将会是下一个重量级语言。这个曾经被用于半成品实现和滚动信息展示的语言,如今已经演进为一个世界级的、面向对象的动态语言,无论是在客户端还是在服务器端,都有超高速的实现。
一方面,JavaScript的设计者通过EcmaScript 5(ES5)标准为JavaScript注入了新鲜健康的血液;另一方面,各种强大的JavaScript引擎(比如V8、JavaScriptCore、SpiderMonkey、Rhino和Carakan)以及不断涌现的标准和技术(在这方面,CommonJS 和Node 处于领先地位),使JavaScript既适合在浏览器端工作,也适合独立在服务器端构建强大的架构。甚至连微软最新推出的Internet Explorer 9也大幅提高了JavaScript的运行速度。
JavaScript不仅仅是一门强大的动态语言,而且是一个庞大的生态系统,这个系统由它的开发工具、基础设施、框架和工具箱构成。JavaScript功能全面,易于编写,适用于各种编程任务,尤其是那些基于Web的应用和服务。
是时候进入JavaScript的世界了!
本书内容和读者对象
本书并没有打算从语言的角度来讲解JavaScript。首先,JavaScript的语法并不复杂,只要你拥有一些主流编程语言的经验——哪怕只了解基本的概念(诸如变量、循环等),就已经足够了。本书并不需要你拥有JavaScript的经验(当然有的话会更好),更不要求你是编程专家。
事实上,如果你打算研究JavaScript的语言精髓或是核心技术细节,那最好还是去读一些专门的材料,Opera提供的Web标准课程中的“JavaScript核心技能”部分就很不错 。如果你需要了解更复杂的语言实现细节,则可以去参考官方的语言标准,或是阅读那些圣经级的大部头,比如David Flanagan的JavaScript:The Definitive Guide 。
针对常见的客户端JavaScript任务,本书提供了快捷且定性的解决方案,这些任务从简单(比如获取一个DOM元素的引用)到复杂(比如基于Ajax的自动完成)。这也意味着我们需要使用JavaScript、CSS、DOM、Ajax、JSON等技术。本书绝大部分在讲客户端(浏览器端)技术,服务器端的内容则很少。为了便于说明,本书也用了一些PHP脚本,不过你可以使用你喜欢的技术,比如通过Node用JavaScript编写服务器端程序!
不要直接照搬本书中的代码。本书每个任务都围绕着某个核心概念、潜在问题或技术技巧展开论述。你要理解这些概念、问题和技巧并灵活运用,而不要拘泥于特定的任务。最终,学完本书,你将成为一名更出色的JavaScript程序员。
本书与JavaScript库
坦率地说,如果你正在进行重要的JavaScript开发,却没有使用已有的优秀框架,那你就已经做错了。在浏览器端编写高效的网页脚本是一项挑战。你会碰到各种各样的障碍:DOM中的不一致、错误的语言实现、CSS quirk和诡异的Ajax bug等。在服务器端,即使已经有了运行时的支持,你仍需要把数据存储、网络栈和模块系统等基本服务器模块组合在一起,这涉及大量的工作。
幸运的是,优秀的开发者已经为你解决了这些难题。现在有大量的优秀框架(尤其在客户端)供你选择。附录C详细介绍了主流的JavaScript框架。
任何称职且注重实效的JavaScript开发者都会依赖一个或多个优秀框架,因此,对于那些在我看来相当“基本”的任务,本书会介绍它们在所有主流客户端框架中的实现方法。我选择的框架包括Prototype、jQuery、MooTools、YUI、Dojo和ExtJS,它们覆盖了开发者心仪的大部分框架。
对于不那么“基本”的任务,我主要用我的最爱Prototype 来处理(光箱特效除外,因为我认为在这个任务中jQuery插件更合适)。不过说实话,当你掌握了基本技巧之后,就可以用你常用的库来改写或重写我的解决方案。事实上,为了处理这种情况,我们在GitHub上建立了一个公用代码库 。因此,如果你需要用其他库(比如jQuery),只需要简单地点一下GitHub的分支(Fork)按钮,而且查找这些代码库的派生版本也很容易。
此外,本书所有代码都被打包并存档在本书网站上 。如果想测试这些代码的效果,请访问http://demo.pocketjavascript.com。
本书内容简介
本书按主题划分成不同的部分,每个部分均包含了一系列任务。书的末尾有一些附录,你在阅读正文之前很可能需要查阅其中一些内容,尤其是附录A(JavaScript快速参考)和附录B(介绍JavaScript调试技术)。
第一部分包含了JavaScript开发者经常忽视但又非常重要的JavaScript编码模式。这些编码模式和框架关系不大,但为了编写良好的JavaScript代码,它们不可或缺。务必从这一部分开始阅读。
第二部分主要讲述前面提到的“基本”任务,主要包括基本的DOM和CSS操纵,以及事件处理和定时器的使用。由于它们都很“基本”,所以我列出了所有主流框架下这些任务的实现代码,你可以根据需要来选择。最好结合附录C阅读这一部分,从而对这些主流框架有一个全面的认识,作出可靠的决策。
媒体评论
——Thomas Fuchs,script.aculo.us框架创始人
“这本书包含了一系列当今浏览器中既精妙又实用的JavaScript贴士和技巧,既有表单验证和JSON处理这样的基本技术,也有混搭和几何定位这样的应用实例。如果你想使用JavaScript编写更优秀的Web应用,我强烈建议你阅读本书。”
——Dylan Schiemann,SitePen的CEO,Dojo工具箱联合创始人