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

申请办法

1、发邮件到:[email protected]
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



朋友们的留言

  1. 大昆 | 02月 6th, 2010 at 23:05

    不看也会买的!第一版已经买了。

    Reply to this comment
  2. LC | 02月 6th, 2010 at 23:07

    我想问下 老版的javascript高级程序设计 我已经看过两遍了.
    这本书我现在只能看到3章的样张. 感觉第4章和第5章 变化挺多的
    而且内容感觉比较好. 不知道后面的章节变化都有多大. 我确定
    有没有继续购买的必要! 谢谢!~

    Reply to this comment
  3. Captain | 02月 7th, 2010 at 09:06

    很期待这本书,已经发送email

    Reply to this comment
  4. army8735 | 02月 7th, 2010 at 10:09

    早就在期待了~~~

    Reply to this comment
  5. 为之漫笔 | 02月 7th, 2010 at 16:05

    第一批29位读者请查收邮件,如有问题请及时联系:

    *^WAY^*, 1989qingqishi, army8735, georgewing, Hiro, jinhu dong, kangjinshan, Lebron, Max Lee, morphysh, Neil Xu, stephen zhang, Viczen li, waitfox, walkingp, Willerce Zheng, world lg, yangliang, 迭戈的探戈, 丰丰心, 爵溪, 梁超, 卢卿, 欧拉, 潘锦涛, 山芋超人, 陶铖, 殷子心, 周光明

    Reply to this comment
  6. George Wing | 02月 7th, 2010 at 17:26

    在样章第三章第6页的译者注处发现了一个技术问题:typeof是操作符,但它同时也可以调用:
    typeof xxx与typeof(xxx)是等价的。

    Reply to this comment
  7. George Wing | 02月 7th, 2010 at 17:33

    译者可以看第5页的“使用typeof的例子”那儿,第二行是空了一格,第三行是没空直接括号。
    (可能要仔细点才看得清楚)

    Reply to this comment
  8. George Wing | 02月 7th, 2010 at 17:51

    第3章第7页译者注处发现了技术问题:原文的意思是:简单的看作两者是相等的,但实际真正却不是相等的。
    也就是说:用==判断是相等的(true),但是用===却不是相等的(false)。

    Reply to this comment
  9. 为之漫笔 | 02月 7th, 2010 at 19:30

    @George Wing

    1.这里的译者注是给编辑看的,编辑会删掉;不会被印刷在书中。只有脚注形式的译者注才会出现在书中。

    2.原书没有空格;而且,没有空格也没有问题。——看得真仔细啊,呵呵!

    3.请参见3.5.7节,本书将==表述为“相等操作符”,将===表述为“全等操作符”。

    Reply to this comment
  10. George Wing | 02月 7th, 2010 at 22:25

    呃。大哥,你误会了。
    1.是表示typeof虽然是操作符,但它也可以调用。原文的意思没有错。
    2.是对1的解释。
    3.==与===只是我为了证明原文的意思而举的例。。。

    Reply to this comment
  11. George Wing | 02月 7th, 2010 at 22:57

    在第3章第16、17页中constructor有两种译法:构造器、构造函数。
    希望能够统一。

    Reply to this comment
  12. LC | 02月 7th, 2010 at 23:07

    晚上用了些时间把第三章的样张给看了. 我感觉不论书的改版还是博主你的翻译.都非常值得称赞.
    毕竟还是参考书.对于ECMA提到的还是些皮毛.要是能再深入些就好了.(当然这个不是博主能决定的^_^)

    读了整个第三章,我仅发现一个很小的错误.
    p34 => 3.5.7 => 1.相等和不相等模块下的第一个 小■的解释
    ——false 转移为0,而 true 转换为 1;
    这句话 第一个转换写成了转移.

    希望博主能再接再厉.译出更好的书籍,造福大家

    Reply to this comment
  13. LC | 02月 8th, 2010 at 11:25

    早上又读了第四章.这张算是精华了.也是看出了现在javascript研究进步之快.文章的角度也上升到了scopeChain. 也讲解了垃圾回收机制.很好看.

    发现两点问题:
    1. p6第二段
    为此ECAScript提供了instanceof
    ECMAScript写错了
    2. p6的小结提示部分
    在使用typeof检测正则表达式时,这个操作符会错误地也返function”

    typeof /^[0-9]$/;
    我看到的结果都是object

    Reply to this comment
  14. 为之漫笔 | 02月 8th, 2010 at 18:16

    第二批1920位读者请查收邮件,如有问题请及时联系:

    Ray Lee, 264527373, disc-01, jhyp5726, john, l y, Minxuan Cheng, saku saku, sky, Steven Wu, Steven.Yao, wenyu, zhendi, 蔡璐, 程海博, 高志恒, 浪雪, 李牧, 凌空一叶, 孙新峰,

    Reply to this comment
  15. 为之漫笔 | 02月 9th, 2010 at 22:04

    第三批6位读者请查收邮件,如有问题请及时联系:

    bloglei, cq cq, Hu, Jiangwei, I’m Rebill, ZY, 穆瑞强,

    Reply to this comment
  16. George Wing | 02月 10th, 2010 at 15:43

    @LC
    关于问题2
    typeof检测正则表达式在《JavaScript语言精粹》第104页译注4有答案:
    “经译者测试,在对正则表达式执行typeof操作时,主流浏览器中IE/FF/Op都返回object,而Safari返回的是function。”

    Reply to this comment
  17. 为之漫笔 | 02月 10th, 2010 at 19:04

    第四批65位读者请查收邮件,如有问题请及时联系:

    NoNZero, aloo Ivern, 彬, 彬, 卡兹, 魏忠, 张峰,

    Reply to this comment
  18. 为之漫笔 | 02月 20th, 2010 at 18:05

    第五批7位读者请查收邮件,如有问题请及时联系:

    Micheas, 斌 邱, ⺗弄月々池池, 罗永德, 王祥, 小山睡虫, 周涛,

    Reply to this comment
  19. 为之漫笔 | 02月 21st, 2010 at 21:03

    第六批5位读者请查收邮件,如有问题请及时联系:

    ai chen, IcyTrojan, Wei Shao, yatata, 周裕波,

    Reply to this comment
  20. N | 02月 22nd, 2010 at 16:59

    邮件已发送,谢谢。

    Reply to this comment
  21. 为之漫笔 | 02月 22nd, 2010 at 19:37

    第七批2位读者请查收邮件,如有问题请及时联系:

    bo yu,wswakn

    Reply to this comment
  22. 为之漫笔 | 02月 24th, 2010 at 22:04

    第八批4位读者请查收邮件,如有问题请及时联系:

    Jeanx, Yuchun Li, 程炳生, 刘金灿,

    Reply to this comment
  23. 为之漫笔 | 02月 26th, 2010 at 06:45

    第九批3位读者请查收邮件,如有问题请及时联系:

    simaopig, zqxzyf_123, 这么长,

    Reply to this comment
  24. simaopig | 02月 26th, 2010 at 11:49

    谢谢李老师,样章已经收到,正在仔细阅读中,谢谢!

    Reply to this comment
  25. 为之漫笔 | 02月 26th, 2010 at 19:53

    @simaopig,不用客气!

    Reply to this comment
  26. vincent | 03月 8th, 2010 at 08:02

    请老师发第九批的样章。非常期待书早日发行。

    Reply to this comment
  27. 芋头 | 03月 18th, 2010 at 16:59

    [email protected],谢谢lz哈,爱死你了

    Reply to this comment
  28. denleyfu | 03月 19th, 2010 at 11:25

    好书,正想去买第一版的看,第二版快出了,就等等吧,先要个样章来看看,邮件已发,谢谢译者。

    Reply to this comment
  29. 凌空一叶 | 03月 22nd, 2010 at 17:06

    这本书我看了译者翻译的试读章节和后面英文原文的一些章节,第七章讲闭包(Closure)的配图Figure1-1,Figure1-2,应该是所有讲闭包的blog或者书里最直观的了。不过两副图好像有个共同的问题。

    JavaScript: The Definitive Guide, 5th Edition
    8.8.2. The Call Object

    提到
    “Note that unlike arguments, this is a keyword, not a property in the call object.”

    this关键字不是调用对象的属性,按权威指南的这种说法,Nicholas C. Zakas画的两幅图里面,函数的调用对象属性表中都不应该出现this关键字。

    不知道是Nicholas C. Zakas还是权威指南的说法是正确的?希望译者能给解答下。谢谢!

    Reply to this comment
  30. 为之漫笔 | 03月 22nd, 2010 at 22:41

    @凌空一叶

    虽然这两本书都是参考ECMA-262第3版编写的,但具体到讲述这些高级内容的部分,很难说哪位作者的表述是正确的,哪位作者的表述是不正确的。如果非要说什么样的表述正确,我建议你去看规范,规范只有一份,肯定是正确的。问题是,即使是规范中的某些表述,不同的人看来也可能会有不同的理解和不同的解释。

    具体到你说的this是关键字这个问题。第3版11.1节(p.40)说:The this keyword evaluates to the this value of the execution context.第5版同是11.1节(p.60)说:The this keyword evaluates to the value of the ThisBinding of the current execution context.(参见http://www.ecmascript.org/docs.php

    Nicholas在本书中说“当第一次调用compare()时,会创建一个包含this、arguments、value1和value2的活动对象”(所以在两幅插图中,函数的调用对象都包含着this)。问题在于,其中的this是指第3版中所说的The this keyword,还是the this value of the execution context?如果是前者,当然不对;如果是后者,好像就没有问题了。

    另外,Prototype库的核心开发人员Juriy Zaytsev对这本书进行了非常严格的审校,在提到这一章的上述内容时,也还是赞赏有加的。(参见http://perfectionkills.com/professional-javascript-review/。)

    Reply to this comment
  31. 亚克蜥 | 04月 21st, 2010 at 17:29

    什么时候出来呢,等着买呢。看过第一版的电子片。确实是本不错的书。

    Reply to this comment
  32. 为之漫笔 | 04月 21st, 2010 at 18:46

    @亚克蜥

    快了,大概在6、7月份吧,敬请期待

    Reply to this comment
  33. 千年一梦 | 04月 23rd, 2010 at 16:02

    感觉第一版的译者没有用心,里面代码和描述错误较多,已经看了前面几章,要不要继续看下去,还是等第二版出来后再去读?

    Reply to this comment
  34. 千年一梦 | 04月 23rd, 2010 at 16:21

    1、样章第四章,第6页,“alert(typeof b); //Boolean”,此处Boolean应为boolean;
    2、样章第五章,第11页,倒数第7行,“则用数组长度减去该数来确定相应的位置”中的“减去”是否应改为“加上”?因为那个数本来就是负数;
    3、样章第五章,第24页,代码“var sum = new Function(“num1″, “num2″, “return num1 + num2);”中,缺少一个”符号;
    4、样章第五章,第40页最后一行代码,“var colors3 = colorText.split(/[^\,]+/);”,在IE6中,数组中只有3项,而在Firefox中与注释一致,是5项。

    Reply to this comment
  35. 千年一梦 | 04月 23rd, 2010 at 16:27

    在第一版(中文)中,关于原始类型描述及代码中的一些错误,在第二版的样章第三章中都得到了改正,而且一些翻译不习惯的术语也改了过来,很不错,希望早日看到第二版。

    Reply to this comment
  36. 为之漫 | 04月 24th, 2010 at 00:10

    @千年一梦

    多谢,全部确认,编辑会修改。另外,如有兴趣看更多样章,请把Email发给我。

    Reply to this comment
  37. 诚征《Beginning Android 2》技术审稿人 » 为之漫笔 | 05月 6th, 2010 at 21:11

    [...] 之所以想到公开征寻技术审稿人,一是上一本书的样章吸引了120多位朋友的热情参与(“经典名著,精选样章”),几位热心的朋友在出版前也为我指出了一些问题,而这些问题在出版前都得到了妥善解决,保证了最终出书的质量;二是在今天这个开放的环境下,如果还延续那种一个人关起门来翻译的模式,不仅会显得译者自己缺乏公开的勇气,更会拖延译稿中问题的解决(译者一个人无法解决书中的所有问题再正常也不过了)。况且,样章早晚都是要放出来给潜在读者先睹为快的,后放不如早放,这样也有利于对图书的前期宣传,有利于潜在读者提前了解这本书的价值所在和翻译质量——先尝后买嘛。 [...]

    Reply to this comment
  38. ugg boots | 12月 19th, 2010 at 09:54

    很期待这样的书!

    Reply to this comment
  39. supra shoes | 10月 25th, 2011 at 09:31

    Grrrr… well I’m not writing all that over again. Anyways, just wanted

    Reply to this comment
  40. true religion brand jeans | 10月 29th, 2011 at 16:42

    I searched for something completely different, but found your website! And have to say thanks. Nice read. Will come back.true religion jeans

    Reply to this comment
  41. ugg ブーツ | 10月 31st, 2011 at 14:16

    Thanks a lot for sharing this with all of us you really realize what you are speaking approximately! Bookmarked. Thank you!

    Reply to this comment
  42. Jordan High Heels | 11月 1st, 2011 at 16:43

    Men, at soome time, are experts of their fates.

    Reply to this comment

我来说两句儿

可以在留言中使用以下标签 :<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Spam Protection by WP-SpamFree