在一年一度的新春佳节即将到来之际,应热心读者的要求,为满足大家先睹为快的愿望,也为了答谢朋友们对本博客长期以来的支持,即日起到春节前夕,本站将发布尚未出版的《JavaScript高级程序设计(第2版)》一书的样章(暂定为3章,约115页)。

申请办法

1、发邮件到:lisf@turingbook.com。
2、邮件主题:《JavaScript高级程序设计(第2版)》样章;邮件内容:您的Email地址。
3、24小时内收到样章,先睹为快!

备注:样章格式为PDF,托管在“Google文件”,可以在线查看(无须登录),也可以下载和打印。希望在线查看PDF的朋友,请在邮件正文中注明“希望接收Google文件”字样,即可收到样章的链接(也可以下载);否则,将收到PDF文件(*请确保有5M以上的空余邮箱空间)
样章列表(详细目录

第3章 基本概念
第4章 变量、作用域及内存问题
第5章 引用类型

《JavaScript高级程序设计(第2版)》简介

本书是人民邮电出版社图灵公司引进出版的大畅销书、JavaScript权威著作《JavaScript高级程序设计》的最新升级版。《JavaScript高级程序设计》自2006年11月出版以来,已经累计销售逾30000册,而且至今仍然十分畅销。这一点可以通过北京新华文化发展有限公司(新华书店)近期的店面销售数据看出来(大家可以自行比较一下其他畅销书的销量)。应该说,在Web 2.0革命爆发的同时,人民邮电出版社图灵公司引进出版的本书成就了计算机图书市场上难得一见的奇迹。

本书作者尼古拉斯·扎卡斯(Nicholas C. Zakas)现为Yahoo!公司首席前端工程师,世界顶级Web技术专家。原书第1版曾被选为Yahoo!公司YUI(Yahoo! User Interface Library,Yahoo!用户界面库)团队的内部培训教材。

2009年初,本书第2版面世(《Professional JavaScript for Web developers, 2nd Edition》)。新版本不仅篇幅由原来的600多页增加到800页,而且几乎全部更新、重写了上一版的内容,删除了上一版中与今天的职业需求无关的主题,新增了大量比上一版更有价值、更能反映JavaScript最新发展成果的内容。从颇具深度的JavaScript语言基础到作用域(链),从JavaScript引用类型到面向对象编程的最佳实践,从极其灵活的匿名函数到闭包的内部机制,从浏览器对象模型(BOM)到客户端检测,从文档对象模型(DOM)到基于事件的Web脚本编程,从错误处理到前端调试,从XML(E4X)到Ajax及JSON,从高级前端开发技术到前沿的客户端存储,从最佳编程实践到展望即将成为现实的API,直至JavaScript未来的发展。全书彻底涵盖了JavaScript技术的各个方面,几乎涉及到了Web前端开发的每一处细节。可以预见,这部著作一定会成为Web前端开发人员不可多得的又一部经典。

目前,《JavaScript高级程序设计(第2版)》的翻译工作已经进入后期阶段(全书22章,所剩不到5章)。而且,为确保新版及时上市与读者见面,出版社采取了与译者同步翻译、同步编辑审校的特别措施。新版本预计2010年上半年可以上市;当然,在确保出版品质的前提下一定会尽量往前赶!

样章详细目录

第3章 基本概念 1
3.1 语法 1
3.1.1 区分大小写 1
3.1.2 标识符 1
3.1.3 注释 2
3.1.4 语句 2
3.2 关键字和保留字 3
3.3 变量 4
3.4 数据类型 5
3.4.1 typeof操作符 5
3.4.2 Undefined类型 6
3.4.3 Null类型 7
3.4.4 Boolean类型 7
3.4.5 Number类型 8
3.4.6 String类型 14
3.4.7 Object类型 16
3.5 操作符 17
3.5.1 一元操作符 17
3.5.2 位操作符 20
3.5.3 布尔操作符 26
3.5.4 乘性操作符 29
3.5.5 加性操作符 30
3.5.6 关系操作符 32
3.5.7 相等操作符 34
3.5.8 条件操作符 35
3.5.9 赋值操作符 36
3.5.10 逗号操作符 36
3.6 语句 37
3.6.1 if语句 37
3.6.2 do-while语句 38
3.6.3 while语句 38
3.6.4 for语句 38
3.6.5 for-in语句 40
3.6.6 label语句 40
3.6.7 break和continue语句 41
3.6.8 with语句 42
3.6.9 switch语句 43
3.7 函数 45
3.7.1 理解参数 47
3.7.2 没有重载 48
3.8 小结 49

第4章 变量、作用域和内存问题 1
4.1 基本类型和引用类型的值 1
4.1.1 动态属性 2
4.1.2 复制变量值 3
4.1.3 传递参数 4
4.1.4 检测类型 6
4.2 执行环境及作用域 6
4.2.1 延长作用域链 9
4.2.2 没有块级作用域 10
4.2.3 声明变量 10
4.2.4 查询标识符 11
4.3 垃圾收集 12
4.3.1 标记清除 12
4.3.2 引用计数 13
4.3.3 性能问题 14
4.3.4 管理内存 15
4.4 小结 15

第5章 引用类型 1
5.1 Object类型 1
5.2 Array类型 3
5.2.1 转换方法 6
5.2.2 栈方法 7
5.2.3 队列方法 8
5.2.4 重排序方法 9
5.2.5 操作方法 11
5.3 Date类型 12
5.3.1 继承的方法 14
5.3.2 日期格式化方法 15
5.3.3 日期/时间组件方法 15
5.4 RegExp类型 17
5.4.1 RegExp实例属性 19
5.4.2 RegExp实例方法 19
5.4.3 RegExp构造函数属性 21
5.4.4 模式的局限性 23
5.5 Function类型 23
5.5.1 没有重载(深入理解) 25
5.5.2 函数声明与函数表达式 25
5.5.3 作为值的函数 26
5.5.4 函数内部属性 27
5.5.5 函数属性和方法 29
5.6 基本包装类型 31
5.6.1 Boolean类型 32
5.6.2 Number类型 33
5.6.3 String类型 35
5.7 内置对象 42
5.7.1 Global对象 43
5.7.2 Math对象 46
5.8 小结 49

埃里克·米拉利亚(Eric Miraglia)

从诞生至今的大部分时间里,焦虑、抨击、蔑视和误解一直与JavaScript如影随形。JavaScript刚刚问世那几年,很多“严肃的程序员”都认为它不够严肃。

相比之下,.COM泡沫时期加入Web开发行列的许多文科生,则普遍觉得JavaScript深不可测、晦涩难懂。就算那些耐力和韧性俱佳者能够把JavaScript琢磨得很透,但仍然摆脱不掉竞争性浏览器提供的不同实现给他们带来的麻烦。凡此种种,最终导致粗制滥造的脚本越来越多。另一方面,拜Web前端代码的无比开放性所赐,各种坏习惯不断从一个站点被粘贴进另一个站点的源代码中。那些实现活该臭名昭著,可是,JavaScript这门语言也因此被严重拖累,背上了不该有的坏名声了。

2001年前后(随着Internet Explorer 6的发布),浏览器实现已经大为改进,Web开发实践也开始得到改善,呈现出了二者水乳交融的局面。作为Ajax核心的XMLHttpRequest对象正慢慢地为人们所发现,一种新的桌面风格的用户交互模式出现在浏览器中。允许JavaScript操作Web文档结构和内容的DOM API已经定型。而CSS,不管人们如何曲解或者无视它,也无论浏览器开发商怎样丧心病狂地实现它,都已经成长得足够茁壮,它的美妙和反应敏捷令它能够与新的Web交互能力配合无间。最终,JavaScript一扫颓势,变得令人惊诧、让人兴奋、使人敬畏。想想2004年第一次使用Google Maps时的情景吧,那种感觉你或许还记忆犹新。

Google Maps是新兴应用程序的典型代表。这类浏览器编程与后端编程并重的应用程序,不禁令人对Web浏览器窗口中那块“画布”的未来浮想联翩。(除Google Maps之外,早在2003年就基于网页邮件客户端提供类似Outlook功能的Oddpost,也是这类应用程序的一个了不起的先驱。)随着这类应用程序如雨后春笋般大量涌现,以及支持它们的浏览器的市场份额不断攀升,一个Web应用全面复兴的时代真的到来了。“Web 2.0”诞生了,Ajax也成了“IT”技术。Web似乎在一夜之间脱胎换骨,重新激发起了人们的兴趣。而JavaScript作为唯一的Web编程语言,也变得更有意思了。

有意思,但用好它却不简单。JavaScript以及在DOM和BOM中为其定义的API不一致的实现,给跨浏览器编程造成了比原本大得多的困难。前端设计行业还远未成熟。大学教学计划并没有(至今仍没有)做出相应的调整,以满足相关的培训要求。

到2004年底,JavaScript无疑已经成为最重要的编程语言。但从学术角度看,它依然不具备进入一类学科的资格。Web虽然已经翻开了新的一页,但在培养足够的知识全面、训练有素的人才方面,我们依然面临着严峻的挑战。

为此,很多技术作者挺身而出,撰写了不少有关JavaScript的图书。几年来,这类书虽然也出了不下几十本,但总体来说仍然不尽如人意。其中有的在推销与落伍的浏览器有关的技术,有的则在卖弄容易剪贴但却不好扩展和维护的技术。让人想不通的是,许多JavaScript图书让人觉得作者好象并不真正喜欢JavaScript,或者他们不认为读者应该喜欢它,再或者他们根本不相信读者能够完全理解JavaScript。

2005年,Nicholas C. Zakas这本书的第一版面世,为前端工程领域奉献了一本真正的好书。当时,我和雅虎的同事们正在创建YUI(Yahoo! User Interface Library,Yahoo!用户界面库),打算将其作为公司前端工程的基础,同时也借以推广我们这门新学问的最佳实践。每到周五,我们就聚到一间教室里讨论前端工程,也向大家讲解JavaScript、CSS以及在浏览器中创建Web应用程序的知识。我们从已出版的高级JavaScript及DOM脚本编程方面的图书中认真挑选了几本,想让新工程师通过它们掌握如何构建耐用、基于标准且容易维护的Web应用程序。Zakas的书一出版,马上就被选为我们的JavaScript内部培训课本。

从那时起我们就一直使用他的书。我们一致认为这本书太有用了,于是就跟Zakas商量,让他加入雅虎帮我们建立公司的前端工程社区。

Zakas在书中传达的理念与众不同——JavaScript既需要严肃认真地对待,但也是完全可以理解和掌握的。如果你是个程序员,这本书会告诉你JavaScript与各种编程语言的关系,以及如何运用你已经习以为常的各种编程模式。你可以理解JavaScript的继承机制及其固有的动态特性(虽不合传统,但却十分自由十分强大),可以从Zakas这位尊重和理解JavaScript的同道那里学会欣赏JavaScript这门语言。

如果你曾经是一名文科生,在网络泡沫时期步入了这个行业,至今也没有转行,而且想要弥补自己在JavaScript方面的不足,你会发现Zakas是一位难得的良师益友。他可以帮你实现从“会做”到“做好”的转变。他能让你认真地理解这门严肃的学问。最重要的是,他不会让你先入为主地产生对这门语言应该理解多深的想法。相反,通过他严肃、耐心、通俗易懂的讲解,你自然而然地会对这门语言有同样深刻的认识。

本书是经过扩展、更新和改进后的第二版,删除了上一版中与今天的职业需求无关的主题,并用我们在2005年至2008年学习的新知识更新了剩余的内容。这几年是JavaScript发展的重要时期,Zakas则始终位于最前沿孜孜不倦地学习这些新知识。他这些年一直在致力于建造新一代最流行的Web个人门户(My Yahoo!),以及开发Web上最受欢迎的站点(Yahoo!主页)的新版本。Zakas以他作为老师和作者的独特视角,筛选出由这些超复杂、超大型应用程序磨砺出的经验,并将这些经验融入到了本书的字里行间。

他给出的解决方案远远超出了一本好书的范畴,只有每天都与代码同呼吸共命运的人,才有可能与读者分享如此具有实用价值的知识。

说实话,本书新版的面世对我和各位读者而言真是个莫大的喜讯。因为它的内容比上一版更有价值、更能反映JavaScript最新的发展成果,因此也更加令人不可错过。

埃里克·米拉利亚(Eric Miraglia)
YUI高级技术经理 哲学博士
于加利福尼亚州森尼维耳市

Nicholas C. Zakas,Yahoo!主页首席前端工程师Nicholas C. Zakas,Yahoo!主页首席前端工程师,个人网站www.nczonline.net。《Professional JavaScript for Web developers, 2nd Edition》作者。最新专著《High Performance JavaScript》(O’Reilly Media; 1 edition,March 15, 2010)。

想知道怎样在今天的Web上创造伟大的用户体验吗?UI专家Bill Scott和Theresa Neil通过本书向读者展示了超过75种基于富交互构建Web界面的模式。作者以自己在Sabre、Yahoo!和Netflix多年的工作经验为依托,把精挑细选的各种最佳实践归结为6个重要原理,深入浅出地向读者阐释了如何有效利用当前的Web技术。本书每一部分都围绕一个设计原理展开讨论,通过学习本书,读者可以掌握以下原理。

直截了当:通过页内编辑、拖放和直接选择等模式实现基于上下文的内容编辑。
简化交互:借助“轻量级”上下文工具,有效减少用户与站点的不必要交互。
足不出户:采用覆盖层、嵌入层、动态内容和页内流程模式保证访问者不离开当前页面。
提供邀请:向用户发出进入下一级交互的邀请,帮助用户发现站点的功能。
巧用变换:学习何时、何地、以何种方式使用动画、电影转场效果及其他变换手段。
即时反应:以实时搜索、实时建议、实时预览及更多模式,为用户提供丰富的交互式体验。

本书以当前最流行的Web站点为例,介绍了大量行之有效的Web界面设计模式。如果你想构建或重构站点,并希望站点以丰富的交互为特色,那本书就是你出奇制胜的宝典。

“本书提供了富因特网应用程序(RIA)设计人员和开发人员(或开发团队)作出明智选择时必须知道的一切。对于当今主流的Web设计师而言,(本书)应该人手一册。”

——Erin Malone,Tangible UX负责人

当当网读者评论

读者:Drek
来自:广州市
标题:很多新的,流行的理念
评分:4星
发表于 2009-10-11 23:53
我是个程序员,可惜在的公司太小,美工,前台,后台,设计,样式都要一手包办。其实挺郁闷的,为了在点脱离这情况,学多点广博的知识,早日飞翔,成就梦想。
而涉及到的知识都要去看,去学。
界面也要自己去处理。所以看到了本书,站在一个程序员的角度考虑,里面的设计思想其实很潮的。没有你想不到,只有你做不到的。书是针对界面设计,没有任何提及程序,代码如何实现的,也没有提及美工方面如何处理的。
可以说同一个设计相思,可以用不同东西去实现,只要你会的。
所以感觉如果作为程序员,又要考虑界面设计的朋友,本书值得一看。如果就美工和单纯是界面设计的,也给予了你不同的设计思想。
当然,世事没有完美的,程序,界面或者流行一时,2,3年间也许变化很大,为了适应自己的工作,或者适应这个时代,可以得到的资源都不要放过哦 查看全文 »

本书作为《jQuery基础教程》的升级版,涵盖了 jQuery 1.3的全部新特性,特别是新增了介绍 jQuery UI(jQuery官方用户界面插件库)的内容。本书前 6章以通俗易懂的方式介绍了 jQuery的基本概念,主要包括 jQuery的选择符、事件、效果、DOM操作、AJAX支持等。随后 3章从理论到实践,通过表格操作、构建功能型表单、实现滑移和翻转效果等实例,深入浅出地讲解了如何创造性地运用 jQuery提供的丰富而强大的 API。本书最后两章专门介绍了如何使用和编写 jQuery插件。值得一提的是,本版新增的附录 D分门别类地列出了所有 jQuery API,为高效使用 jQuery提供了方便。

本书内容
第1章将带领读者对jQuery有个大概的了解。这一章先简单介绍jQuery及其用途,然后的内容主要涉及如何下载和设置jQuery库,同时也会指导你使用jQuery编写第一个脚本。
第2章讲述如何通过jQuery中的选择符表达式及DOM遍历方法,在页面中的任何地方找到想要的元素。这一章将展示如何使用各种选择符表达式为页面中的不同元素添加样式,其中一些是通过纯CSS方式做不到的。
第3章介绍如何通过jQuery的事件处理机制,在浏览器发生事件时触发行为。同时,还会介绍如何以不唐突的方式添加事件(甚至在页面加载完成之前)。此外,这一章还将深入更高级的主题,例如事件冒泡、委托和命名空间。
第4章介绍通过jQuery实现动画的技术,从中我们能够体会到隐藏、显示和移动页面元素时那种轻松自如的感觉。
第5章讲述如何通过命令改变页面。本章讲述的是动态修改HTML文档结构及其内容的技术。
第6章讨论通过jQuery轻松地访问服务器端功能的各种方法,而且不用像过去那样刷新页面。
接下来3章(第7、8、9章)主要以实例为主,即在前几章学习的基础上,创建常见问题的稳健jQuery解决方案。
第7章“表格操作”,讲述排序、筛选和为信息添加样式并创建优美实用的数据布局。
第8章“创建功能性表单”以客户端数据验证为主题。届时,将设计一个具有适应能力的表单布局,还会实现基于客户端与服务器通信的交互式表单功能,例如自动完成。
第9章“滑移和翻转”介绍如何在显示页面元素时增强它们的美感和实用性。其中,动态显示和隐藏信息的方式既可以是自动的,也可以是用户控制的。
第10和11章的主题是jQuery库的第三方扩展,将向读者展示扩展这个库的各种方式。
第10章“使用插件”介绍Form插件和官方用户界面插件集合jQuery UI。同时,还将介绍到哪里寻找其他流行的jQuery插件并了解它们的功能。
第11章“开发插件”将讨论如何利用jQuery强大的扩展能力,从头开发自己的插件。不仅包括创建自己的实用函数,还有添加jQuery对象方法、添加自定义选择符表达式,等等。
附录A“在线资源”提供了很多与jQuery、JavaScript以及通常的Web开发有关的内容丰富的网站信息。
附录B“开发工具”推荐了一些有用的第三方程序和实用工具,用于在个人的开发环境中编辑和调试jQuery代码。
附录C“JavaScript闭包”将帮助读者理解闭包——什么是闭包,怎么利用闭包。
附录D“快速参考”提供了jQuery的简明参考,包括所有方法和选择符表达式。在实际开发中,在明确自己目标的情况下,通过这个简单明了的附录,能够方便快捷地找到正确的方法和选择符。

本书内容

第1章将带领读者对jQuery有个大概的了解。这一章先简单介绍jQuery及其用途,然后的内容主要涉及如何下载和设置jQuery库,同时也会指导你使用jQuery编写第一个脚本。

第2章讲述如何通过jQuery中的选择符表达式及DOM遍历方法,在页面中的任何地方找到想要的元素。这一章将展示如何使用各种选择符表达式为页面中的不同元素添加样式,其中一些是通过纯CSS方式做不到的。 查看全文 »

本书能够为您节省宝贵的Web开发时间。有了这些针对真实问题的解决方案放在手边,大多数编程难题都会迎刃而解。
今天,用PHP开发的2000万个网站充分表明,PHP已经成为一门最流行的脚本语言。本书将PHP的特性与经典实例丛书的独特形式组合到一起,足以帮您成功地构建跨浏览器的web应用程序。在这个修订版中,您可以更加方便地找到各种编程问题的解决方案,本书中内容涵盖了:

  • 表单处理
  • session管理
  • 数据库交互
  • 使用Web 服务

从初学者常见的问题到高级Web编程技术,这本问题指南中包含了丰富的、具有实际应用价值的实例,可以满足使用PHP生成动态Web内容的任何人的需要。书中的每个实例都细致地讨论了所提供解决方案背后的逻辑和思想,用源自PHP专家的洞察力帮你轻松地掌握这门语言。书中更新了PHP5的有关内容,并详细地解释了如何使用新增的语言特性,比如面向对象能力的巨大改进和新的PDO数据访问扩展等。书中特别增加了有关类和对象的部分,包含了以下基本内容: 查看全文 »