试读《JavaScript语言精髓与编程实践》

有幸看到iteye的活动,有幸读到《JavaScript语言精髓与编程实践_第2版》的试读版本,希望更有幸能完整的读到此书。

说来读这本书的冲动,来得很诡异,写一篇读后感,赢一本书,其实奖励并不大,依靠纯粹的物质奖励,很显然,不会强烈的促使我去读这本书。而原因在于,一方面对javascript的极大兴趣,另一方面之前已经拜读过如《javascript高级程序设计》《高性能javascript》《javascript设计模式》等书,那我就有了要看看这本书都写了什么高深言论的冲动,就好像你是一个收藏爱好者,看到一个你没有的收藏品,你会不冲动么?冲动之前,它真的对你有价值么,你也不知道,不过还是打开,读了下去。

读完之后,不得不被周爱民老师所折服。本人自认为对javascript也有一定了解,但是读了这本书之后,原来跟周爱民老师比,还有很大差距。其他的书如果是一泼湖水,游一游就游遍了;那么这本书,在我看来,就是一片大海,需要去理解和思考的东西太多了,甚至有的词句,需要反复读取以理解作者的意思。更甚至,这本书本身已经超越了javascript,更多的是在探讨动态函数式语言的特点。所以我建议,如果你对javascript,对动态函数式语言有极大的兴趣,同时你对javascript已经有了足够的了解(了解javascript的基本特性,高级特性,用javascript做完完整的产品)后,再来阅读此书,收获会更大。

还有一方面,是周爱民老师对于技术细节的钻研和把握。比如typeof null为什么就是object?当然,最快速的办法,我们死记硬背住就好了,但是难道你的内心没有一种冲动?为什么是object?为什么不是null?undefined?或者其他的什么?如果在心里有了这一连串得为什么,然后我们再去剖析问题,了解了typeof的底层含义后,那么不光是这个null,随便来个别的,也就知道其结果是什么了。另一个问题,(function(){})();这个立即执行匿名函数我们经常会用到,但是为什么是这么写?怎么拆分这一堆的东西?每一部分都是代表什么,返回值是什么?读了这本书,就帮你解释了如上的这些为什么。可能这些问题,你在别的书,都是一代而过,作者知道而读者不知道,读者就会很困惑。如果你也是曾经对这些问题很困惑的人,那么就读一读这本书吧。

我自己也很希望能完整的读到此书。