JavaScript

Douglas Crockford

出版社

Yahoo Press

出版时间

2008-05-01

ISBN

9780596517748

评分

★★★★★
书籍介绍
这本书最独特的价值,在于它不教你怎么写JavaScript,而是教你如何真正理解这门语言。作者Crockford从闭包、作用域链、构造函数等核心机制切入,把'函数为何如此运作'讲得透彻而深刻,让读者读完会对JavaScript产生焕然一新的认知。多位读者反馈:它不适合零基础的入门者,前十章偏基础,真正的高价值在后半段——客户端API、Node.js与调试工具。正因如此,它更适合有一定经验、想要'真正掌握'而非'会用'这门语言的程序员反复翻阅。需要提醒的是,作为翻译引进版,书中部分术语翻译(如'表列'、'作用域连')尚存瑕疵,阅读时宜结合原文理解。
作者简介
David Flanagan从1995起就开始使用JavaScript并写作本书的第1版。他拥有麻省理工学院计算机科学与工程学位,目前是VMware的一名软件工程师。
AI导读
核心看点
  • 犀牛书经典重制版,涵盖JS 2020标准
  • 深入解析闭包、作用域链等核心机制
  • 详尽介绍客户端与Node.js端API参考
读者共识
  • JS领域至高经典,必读的技术权威著作
  • 内容详实严谨,但阅读门槛较高较枯燥
  • 新版删减陈旧内容,更贴合现代开发需求
精彩摘录
  • "随着 time-sharing 和基于文本的终端机的出现"
  • "但要注意,Attr对象不出现在元素的childNodes[]数组中,不像Element和Text节点那样直接是文档树的一部分。DOM标准允许通过Node接口的attribute[]数组访问Attr 节点。"
  • "当定义了一个函数,他的作用域连就被保存了起来,并且成为函数内部的一部分。在最顶层,作用域链仅由全局对象组成,而并不和词法作用域相关。然而,当定义一个套嵌函数的时候,作用域链就包含了外围的包含函数。这意味着套嵌的函数可以访问包含函数的所有参数和局部变量。 注意:作用域链是活的,并且在函数被调用的时候,可以访问任何当前的绑定。"
  • "有一个对套嵌函数的外部引用,并且套嵌的函数将它的引用保留给外围函数的调用对象。结果是,外围函数的一次特定调用的调用对象依然存在,函数的参数和局部变量的名字和值在这个对象中得以维持。 javascript函数是将要执行的代码以及执行这些代码的作用域构成的一个综合体。在计算机科学术语里,这种代码和作用域的综合体叫闭包。所有的javascript函数都是闭包。但是,当一个套嵌的函数以这种方式被使用【就上面那段那种方式】的时候,常常明确的叫做一个闭包。"
  • "Steve的断点技术使用一个闭包【inspector】来扑获一个函数中的当前作用域(包括局部变量和函数的参数),并将它与全局的eval函数组合起来,从而允许查看作用域。eval得到js代码的一个字符串并返回其结果。"
  • "被设计用来和new运算符一起使用的函数叫做构造函数。构造函数的工作是初始化一个新的创建对象,设置在使用对象前需要设置的所有属性。"
  • "然后,如果一个构造函数返回一个对象值,返回的对象会成为new表达式的值,在此情况下,作为this的值的对象会被抛弃。"
  • "实例属性,实例方法,类属性,类方法"
用户评论
真是满星好书,大神们总是能从更高的角度去让我们理解这些语言背后的机制,其实每种语言也好模式也好都有它存在的问题,这种批判的思维是建立在对各种知识的充分理解上的自信,应该避免在学习过程中带有太多偏见,原版书看起来才真通畅
其实在读的是这本~中文翻得好不舒服。。。
应该没完全懂。
一本超级大牛教你怎么用JavaScript的书
:无
https://web.stanford.edu/class/cs142/ 参考书,学习一波web application
书是好书,但是不建议任何人通过book来学语言,特别是js这种活着的语言
读了前面一半了,感觉可能比较适合新手,关于提升代码性能的需求不会很好地被满足。 比如,后面关于bad parts的部分也就简单的描述某属性的缺点,官方文档也会有,总觉得内容很浅(不过好在汇总了下)。而且作者给的代码示例也有一些可优化的点。
像是一位高手学习 JS 后总结出来的精炼笔记,没有习题,罗列居多,夹杂注解。我当时看这书时完全没有 JS 的基础,所以效果很差。学习一门编程语言,还是找有习题(和讲解)的书,边看边练,效果才好。日后可以回头看此类精炼书,温故知新。
压泡面的书
下载
收藏