JavaScript - Douglas Crockford

JavaScript

Douglas Crockford

出版社

Yahoo Press

出版时间

2008-05-01

ISBN

9780596517748

评分

★★★★★
书籍介绍
Most programming languages contain good and bad parts, but JavaScript has more than its share of the bad, having been developed and released in a hurry before it could be refined. This authoritative book offers a detailed explanation of the features that make JavaScript an outstanding object-oriented programming language, and warns you about the bad parts. In the process, JavaScript: The Good Parts defines a subset of JavaScript that's more reliable, readable, and maintainable than the language as a whole. Author Douglas Crockford, a member of JavaScript 2.0 committee at ECMA, is considered by many people in the development community to be the JavaScript expert. A beautiful, elegant, lightweight and highly expressive language lies buried under a steaming pile of good intentions and blunders, he explains. The very good ideas include functions, loose typing, dynamic objects, and an expressive object literal notation. Awful ideas include a programming model based on global variables. With JavaScript: The Good Parts, you can release this elegant programming language from its old shell, and create more maintainable, extensible, and efficient code. The book's topics include: * Syntax * Objects * Functions * Inheritance * Arrays * Regular expressions * Methods * Style * Beautiful features Appendices summarize JavaScript's bad parts and awful parts. But the greatest benefit of studying the good parts is that you can avoid the need to unlearn the bad parts. If you want to learn more about the bad parts and how to use them badly, consult any other JavaScript book. JavaScript is the language of the Web -- the only language found in all browsers -- so avoiding it altogether is not an alternative. But, whether you're managing object libraries or just trying to get Ajax to run fast, Crockford's guidance in JavaScript: The Good Parts will help you create truly effective JavaScript code.
AI导读
核心看点
  • 犀牛书经典重制版,涵盖JS 2020标准
  • 深入解析闭包、作用域链等核心机制
  • 详尽介绍客户端与Node.js端API参考
适合谁读
  • 具备编程基础,欲深入掌握JS的开发者
  • 希望系统梳理JS语法与底层原理的工程师
  • 需要权威参考手册的全栈或前端程序员
读前提醒
  • 非零基础入门书,建议有开发经验后阅读
  • 后半部分API参考极长,适合按需查阅
  • 部分章节翻译生硬,建议结合原版对照
读者共识
  • JS领域至高经典,必读的技术权威著作
  • 内容详实严谨,但阅读门槛较高较枯燥
  • 新版删减陈旧内容,更贴合现代开发需求

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

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