《理解 JavaScript 闭包》阅读提示

Posted by admin | JavaScript, 原创 | 星期四 23 8月 2007 3:04 下午

1. 此文啰嗦。
通过翻译这篇长文,我发现老外的啰嗦水平真是达到了登峰造极的境界了--经常性地一个长长的句子构成一段,想要找个句号都很难。这虽然给我翻译造成了相当大的障碍,导致了断断续续一个多月的工作量(读一两遍根本理解不了)。但客观上却明显提高了自己的阅读和翻译能力,这也是可喜的一面。老外虽然啰嗦,但也没有不符合语法的地方,而且关键在于要说明的这个闭包实在是太抽象了。所以,即使啰嗦点,能讲明白,也算是高手了。

2. 不易理解。
文中的内容环环相扣,前面的不理解,后面休想看懂。因此,一定要步步为营,乘胜追击。而且,在阅读的时候千万不能因为一两句话想不明白就轻言放弃,要有个思想准备。当然,也不能因为前面看不懂就不往后看了,前面的看不懂也要硬着头皮往后看。一般来说,不通读全文三五遍,甚至七八遍都是理解不了的。因为其中有很多概念和逻辑需要梳理、定位、形象化。

3. 最好参考其他资料。
如果你能理解《JavaScript 权威指南(第四版)》中有关“作用域”和“变量解析”的阐述,或者《JavaScript 权威指南(第五版)》中有关“闭包”的内容,那么,看这篇文章不应该有太大的难度。所以,可以参考这些资料。

4. 把抽象转变为形象
文中的概念太多,如果从抽象意义上认识,在没有理解的情况下很难记住,而记不住前面的概念就无法理解后来的概念。所以,最好准备点草稿纸,随看随画,不停修正自己的理解。通过把抽象的概念形象化,可以有效地提高阅读效率。另外,建议有条件的读者将文章打印出来看,为此我专门准备了适合打印的版本(见文首的链接)。

5.真正理解全文后的感受
守得云开见月明。如果你能够挺过来,那证明你是真正的好汉,更应该恭喜的是,你有希望成为一名合格的高级 JavaScript 程序员。因为,理解了闭包,不仅仅是一个闭包本身,也会相应理解 JavaScript 基于原型的继承机制(关于这一点,我会再撰文)、属性解析机制,或者说差不多算是理解了 JavaScript 解析器的工作原理了。那种一览众山小的感觉,何止是快意?

最后,祝您学习顺利!

5 条评论 »

  1. 评论 作者 pp — 2007-09-22 @ 11:36 下午

    您老可真是专业啊,可惜怎么找不到中文的深入讲js的书

  2. 评论 作者 admin — 2007-09-24 @ 8:18 上午

    pp网友,请参考以下链接:
    http://blog.csdn.net/turingbook/archive/2007/09/17/1787659.aspx

  3. 评论 作者 cqhydz — 2007-09-29 @ 2:15 上午

    看了的确抽象真是有史以来最难明白的大作,我想提个意见即有些关键字可以保留为英语这样更方便阅读,谢谢你的翻译。

  4. 评论 作者 admin — 2007-09-30 @ 8:39 上午

    cqhydz网友,你可以参考英文原文。

  5. 评论 作者 jackzheng — 2008-01-19 @ 11:10 上午

    通读三遍!终于有点感觉了!

对这篇文章的评论的 RSS 聚合。 TrackBack URI

发表您的评论

验证码  If you cannot see the CheckCode image,please refresh the page again!