这本书在刚出版的时候,编辑就送了一本给我,可惜那段时间出差在外没能看到,真正到手是4号那天,之前一直关注
china-pub上的评论,有网友评价说内容太肤浅,“大失所望,感觉象是喝了碗稀粥,一点实在货都没有”。的确,此书是我有史以来读得最快的一本,三百页,从4号晚上开始看,到第二天下午就看完了,说明写的真的是很简单-_$
不过话又说回来,就我的阅读体验来说,还是有收获的,为什么这么说呢?也许就因为我是个初学者吧,web前台的初学者,书里面提到的三层分离思想:结构(XHTML)、表示(CSS)、行为(javascript、dom)的解耦,还是非常有意义的,阐述得也还清晰,示例简单,比较容易理解。有一个地方给我的映象比较深刻,就是在讲“当前页面标示”的时候提到的方法:作者用document.location.href来提取当前页面地址,再对比导航条中相应的超链接地址,然后设置其css以达到突出显示的目的,非常新颖。在这之前,我都是按照《精通CSS(CSS Mastery)》里面的硬编码方式来做的,呵呵,没想到可以如此灵活,要知道他这段代码是可以重用的……另外,作者一贯用循序渐进的方式,进行实例讲解,一步一步的完善各个函数,也就是重构,这一点也是值得我们借鉴的。还有就是最后提到的hijax,提倡先按旧式、常规的方法开发系统页面,最后再用javascript和XMLHttpRequest来拦截和传送数据,以加入AJAX功能,这与之前看过的《AJAX实战(AJAX In Action)》中阐述的“忘掉Web的页面概念,打破以前的经验”似乎背道而驰?这个问题有待于看了作者的新书《Bulletproof AJAX》再下结论,这本书就是讲解hijax的,也是人邮的图灵公司引进出版,比较期待。说到Bulletproof,又想起了之前翻完的《无懈可击的Web设计(Bulletproof Web Design)》,也是很有意思的一本书,改天抽时间也来以自己的眼光评一评^_^
上面讲的都是优点,那本书的缺点呢?不是没有,而是太明显了:重复、罗嗦是最大的特点。作者把读者都当成从来没接触过javascript和dom知识的门外汉,讲解一个循环或者一个条件判断语句都能花上几页篇幅,而且在书中其他地方遇到一样的语法,也如法炮制,不厌其烦。很多时候为了几个结束函数用的右括号“}”,也能把前面已经列过的代码清单再复制粘贴一遍,完全是在骗书稿。正如china-pub上的Renart兄所说,“这么一丁点东西难得作者竟然能写出三百多页的篇幅来”,晕。至于有人评论说作者认为“只能通过DOM获取inline的style”,这一点有失偏颇了,其实作者一直强调的是,用style属性只能取得inline的样式信息,至于如何通过DOM的其他手段去获取外部文件的样式,压根就没讲,呵呵。
总结一下,本书用来入门还是可以的,不过对dom的讲解也太浅了点,基本的操作之前很多书上都有了,比如《AJAX基础教程》就提到不少,够用了,要想深入学习这方面的知识,可以看看《javascript高级程序设计》,里面讲了不少,然后我最最期待和推荐的《ppk on javscript》一书里面也详细介绍了这部分内容,而且是基于“分离、解耦”的思想来阐述的,非常棒,这本书等看完了电子版再上来好好详细为大家评述吧。言归正传,对于想快速入门javascript dom的朋友,还是推荐翻翻此书,毕竟作者传播的三层思想还是很有道理的,阐述的也比较细(至于细得是不是让你觉得烦,我就不知道了,呵呵),就我个人来说,一本书,只要有个闪光点,能让我有收获,就是值得的,我认为,本书也算得上“值得”。
目前发现的小问题(勘误):
1、81页第12行"如果你不理解getElementById和getElenmentsByTagName,你就不能参与这项游乐活动",应该是"或",而不是"和";
2、117页第二行开头,"变量para"应该是"变量testdiv"。
-------------------------------------------
补充:有朋友对我上面说的那个例子感兴趣,之前讲的不是很清楚,本来是想把代码贴出来的,可是这个blog需要自己写转义字符,而且格式也不能保持,唉,看来google还需要完善呐。下面是我写的一个简单的例子,大家可以看看:
实例下载