Eloquent JavaScript

Marijn Haverbeke

出版时间

2011-02-03

ISBN

9781593272821

评分

★★★★★
书籍介绍
这并不一本教你'如何用 JavaScript 写出花哨网页特效'的工具书。作者刻意绕开那些切来拼去的代码片段,转而用这门语言带你真正理解编程本身:变量、控制流、函数、数据结构,再到面向对象与正则。读者反复提到的,是它用 JS 讲编程概念的独特取径——好处是建立起对语言的'优雅与精确'的体感,争议则在于取舍:高级数据结构等章节对纯新手并不友好,浏览器部分内容也略显过时。因此它更适合愿意在线边读边跑代码、亲手把每章小项目做一遍的人,而非 seeking 速成的查手册。它像一位不愿直接给答案的老师,逼你自己举一反三。
AI导读
核心看点
  • 聚焦编程技巧而非代码堆砌,强调优雅与精确。
  • 从基础语法到面向对象,系统构建JS知识体系。
  • 通过贯穿全书的复杂项目,培养实际应用能力。
读者共识
  • 定位尴尬,对纯新手不友好,对高手略显鸡肋。
  • 翻译质量参差不齐,建议条件允许者阅读英文原版。
  • 编程思想极具价值,值得反复研读以规范编码习惯。
精彩摘录
  • "【原文】 子曰:“不愤不咎,不悱不发。举一隅不以三隅反,则不复也。” 【译文】 孔子说:“不到他努力想弄明白而不得的程度不要去开导他;不到他心里明白却不能完善表达出来的程度不要去启发他。如果他不能举一反三,就不要再反复地给他举例了。” 【评析】 这里是孔子介绍了他在教育方面的体会,他并不觉得一个老师一言堂地给学生灌输就能有好的教学效果,而是觉得关键在于怎样启发学生自己去思考和琢磨。不是让老师替学生去举一反三、反复列举,而是启发学生去举一反三、触类旁通。要做到这一点,就必须坚持一个原则:不要轻易地把答案告诉学生,也不要过多地替学生思考,更不要给学生灌输标准答案。我想这是值得我们今天的老师在教学中"
  • "I do not enlighten those who are not eager to learn, nor arouse those who are not anxious to give an explanation themselves. If I have presented one corner of the square and they cannot come back to me with the other three, I should not go over the points again. ― Confucius"
  • "Consider this puzzle: By starting from the number 1 and repeatedly either adding 5 or multiplying by 3, an infinite amount of new numbers can be produced. How would you write a function that, given a number, tries to find a sequence of additions and multiplications that produce that number?"
  • "The programmer who refuses to keep exploring will surely stagnate, forget his joy, lose the will to program (and become a manager)."
  • "如果表匠技艺精湛 and if the watch-maker was any good,"
  • "创建一个值,不需要建筑材料,也不用花钱。"
  • "This is what 144 might look like in bits: 144用比特位来表示大概就是这样:"
  • "Strings are used to represent text. (The name supposedly derives from the fact that it strings together a bunch of characters.)"
用户评论
用JS介绍基本的编程概念,作为面向初学者的教程,却是用面向老手的语言来写作。废话太多,例子难懂,还插入了搜索与二分堆的例子,结果没有介绍好JS语言也没有介绍好基本的编程概念。
文笔跟居委会大妈一般啰嗦……还是建议看MDN……
不错的JavaScript入门书籍,入职后温习JS第一轮用书。
作者真闷骚啊... 各种段子.
书中的几个例子不错,解析文本的,小游戏。 好的做法,不好的做法都有对比。期待第二版
之前读Fluent Python觉得是一本很好的Python进阶书,以为意思相近的Eloquent JavaScript也是进阶用的,看了一会发现这完全是一本编程入门书籍啊,只不过是用JS举例而已,竟然花了大段的篇幅讲什么是编程语言里的statement,什么是变量和值的binding。这本书不适合有其他语言编程基础的开发者入门JS、更不适合有JS基础的开发者进阶。而且我看了外网的评价,也有很多新手说根本看不懂。总之,是一本定位很莫名其妙的技术书,小白看着吃力、老鸟没必要看。
不适合新手,定位很尴尬,前半段大段复杂函数,刚开始直接蒙圈,后半段又异常简单。搞不太懂作者,不过本书所表达的编程思想值得学习。不管学js还是其他语言,道理大部分都是想通的。
基础知识部分说的挺好,但是后面的例子需要好好消化,不是那么适合初学
如果你学过Python或者Ruby,想学习一下Javascript,这本书还是不错的入门选择。零基础的就算了,另外,书中的实例都很好,还有练习。
下载
收藏