- 相关推荐
《JavaScript高级程序设计(第3版)》读后感
当品读完一部作品后,大家一定都收获不少,不妨坐下来好好写写读后感吧。但是读后感有什么要求呢?以下是小编收集整理的《JavaScript高级程序设计(第3版)》读后感,仅供参考,大家一起来看看吧。
对于初学者,有许多人推荐这两本书:一本是《JavaScript权威指南》(第六版),一本是这本。
这两本书我都有,刚开始时是对照着看的。但我最终把大部分时间都花在这本书上了,《权威指南》则被冷落了。
两本书都广泛受到业内人士的好评,所以我并没有说《权威指南》不好,我说的是这本书要更好一些。
为什么我要这么说呢?首先,就是这本书的作者与译者。如果你像我一样,整日去学校图书馆翻看是否又上架了新的前端书目的话,你就会发现,这本书的作者NCZ与译者李松峰常出现在你眼前。作者NCZ简直就是专业的技术书籍写作者了,写作经验十分丰富,所作的许多书被誉为“圣典”。译者李松峰就职于图灵公司,是一名专业的前端技术书籍翻译者。这本书翻译流畅,少有晦涩之处,比《权威指南》好得多。
第二方面呢,就是这本书的厚度。这本书明显要比《权威指南》薄许多啊。对于时间本就不是十分宽裕的寒假而言,显然这本书更适合深入学习一些。而且这本书开本和字号也要大一些,看起来要舒服很多。而且不要认为,这本书薄了,知识量就少了。这本书比起《权威指南》内容可是半点没少,只是少了《权威指南》最后附录中的冗杂的参考文档罢了。况且我认为参考文档完全可以在网上查阅,而且更为方便快捷。
JavaScript这门语言诞生于1995年。1997年,由欧洲计算机制造协会(ECMA,European Computer Manufactures Association)指定的39号技术委员会制定的ECMAScript脚本语言标准发布。1998年,ISO/IEC采用了ECMA标准,至此JavaScript的ECMAScript部分成型。
由ECMA-262定义的ECMAScript与Web浏览器没有依赖关系,这门语言并不包括输入输出定义。ECMA-262定义的只是这门语言的基础,Web浏览器只是ECMAScript实现可能的宿主环境之一。宿主环境不仅提供基本的ECMAScript实现,同时也会提供该语言的扩展,以便语言与环境之间对接交互。而这些扩展——如DOM,则利用ECMAScript的核心类型和语法提供更多更具体的功能,以便实现针对环境的操作。其他的宿主环境包括Node(一种服务端JavaScript平台)和Adobe Flash。
完整的JavaScirpt实现包括了ECMAScript,DOM,BOM三大部分。核心(ECMAScript),由ECMA-262定义,提供核心语言功能;文档对象模型(DOM),提供访问和操作网页内容的方法和接口;浏览器对象模型(BOM),提供与浏览器交互的方法和接口。
JavaScript的这三个组成部分,在当前五个主要浏览器(IE、Firefox、Chrome、Safari和Opera)中都得到了不同程度的支持。其中,所有浏览器对ECMAScript第3版的支持大体上都还不错,而对ECMAScript5的支持程度越来越高,但对DOM的支持则彼此相差比较多。对已经正式纳入HTML5标准的BOM来说,尽管各浏览器都实现了某些众所周知的共同特性,但其他特性还是会因浏览器而异。
虽然大家都说JavaScript是一门十分简单的编程语言,然而那只是对入门而言。要想能熟练应用并精通这门前端语言并不是十分容易。
第一次看到JavaScript完成项目的源码时,我的内心几乎是崩溃的。可能是因为以前没有接触过脚本语言的缘故,JavaScript的语法规则我完全无法理解,更别说那些繁杂的封包规则了。
于是,过去一个多个月,这本书成了我主攻对象。寒假里,我经常一个人坐在电脑前,静静地看一天,边看边写。说来也奇怪,第一次见JavaScript的那种奇怪感觉没有了。不懂闭包,原型链,那说懂JavaScript是让人笑话的。于是,我花了很大力气重复看这几章,竟然慢慢看懂了,不得不说这书写得很清楚,翻译质量也很不错。我自己也翻过东西,知道翻译的不易,翻译这么厚的一本书,更不是一件容易的事。然而李松峰的翻译就让人感觉十分顺畅,读起来如行云流水,十分舒服。正所谓前人栽树后人乘凉,读者在读书时往往不知成书背后的艰辛。
当然,翻译也并非完全没有问题,第四章中提到的作用域、原型。作用域链等,所有相关基本概念都在此有说明,后面涉及到闭包、this对象、私有变量、函数绑定都与此有关。但是我认为这部分特别是讲作用域概念时翻译有问题,所以我特意下载了英文原版的电子版。对照英文版,果然还是原文更好理解。
就这样,对照着英文和汉译,我终于理解了JavaScript的大部分,接下来,我会再仔细攻读不太理解的部分,力求完全将JavaScript掌握。
七百多页的大块头,从学校图书馆到放假回家,断断续续的一个多个月连带做笔记终于勉强算过了一遍。因为这本书内容比较多,涉及面也比较广,对于我这种没有实战经验的学生来说很多章节不是都不懂就是不知所用,只是一味的看看方法,API什么的。所以看完一遍之后,我又把重点语言章节复习了一遍,全书的内容大概整理了整理,才算是基本掌握了这本书。
如果想要只想要对JavaScript本身做一个了解,其实阅读到第十三章“事件”就可以了。之后是一些HTML5新内容,XML和JSON的操作,还有非常流行的AJAX,这些章节都是一大堆方法和API,没有实践过一些前端项目的人读起来可能会觉得没什么意思,然而我却读的津津有味。因为这部分内容对我有着非常巨大的帮助。
我虽然自己也经常应用JSON和AJAX,但一直都是知其然而不知其所以然,一遇到问题就Google,基本上stackoveflow上都有需要的答案,而gitHub上总能找到自己需要的框架和库。但是我虽然知道用他们可以解决具体问题,但却并不知到离开了他们自己该如何去做。然而在我耐心地读完这本书后,很多心头的疑问终于解开。遇到不解不用再Google了,因为很多原理书中阐述的十分清楚,直接查阅书籍的对应内容就可以。也终于相信,遇到任何功能,都可以用原生的Dom API和JS来解决了,心里也不再慌乱,觉得离开第三方库啥也干不了了。
我因为之前学过一些主流编程语言,所以在语法章节直接跳过去了,后面读面向对象那里果然就有了问题。JavaScript虽然和主流编程语言语法差距不大,但有些细节还是要关注,比如函数没有签名和垃圾回收呀等等,对以后章节的面向对象设计比较有帮助。
第六和第七章,“面向对象的程序设计”和“函数表达式”我认为是深入JavaScript的关键,有些理解困难的时候可以在网上搜一搜博客,比如闭包我就没怎么看懂,最后在网上找到一遍阮一峰的博文,说的很清楚,立马就明白了。
纸上得来终觉浅,绝知此事要躬行,所以最重要的还是要实践,本书有一个缺点是没有实战项目(毕竟再加上就不知道要多厚了),所以我看疲倦时就会自己找些例子写一写,从最简单的常见交互脚本开始,最后也写出了像20xx呀这种比较复杂的东西。在出错的时候,再想想书中的理论知识,Google一下别人的经验,对自己的提升都有很大的助益。
这本书不仅可以用来细读,也可以当作参考书。有一次,一位做Android的朋友问我HTML5本地存储机制,我刚好记得书上有,就赶忙拿出来翻看,结果果然有。还有其他许多实际应用时出现的问题我的都从这本书中找到了解决方法。
【《JavaScript高级程序设计(第3版)》读后感】相关文章:
程序设计心得12-03
高级的句子11-17
高级的文案03-17
第猎狗读后感04-08
第子规读后感04-17
《第猎狗》读后感04-17
c语言程序设计心得10-13
《第猎狗》读后感范文05-01
《第猎狗》优秀读后感05-01