这几天抽空把 javascript web applications 这本书看完了, 整理一下学到的东西.
在我看来, 整本书主要内容就是讲如何抽象js前端开发, 让代码变得更清晰. 具体采用的手法是在js里面实现class, MVC, module等抽象.
整理整理一下我觉得对我来说重要的知识点:
- context switch. js里面, new会转换context, 各种回调函数里面context会有变化, 具体影响到的是this以及环境变量. 要利用到jQuery里面的proxy(底层调用apply等)来做context switch.
- js是prototype的语言, js里面实现继承, 需要通过递归调用prototype.
- 很多封装的技巧, 有种lisp的感觉. 看起来成为一个靠谱的js程序员需要掌握这些技巧了.
- MVC模型, 这个也不需要多说了, 都用烂了, 只要提一下大家就会注意了. Controller里面负责联系model和view, UI事件处理之类的事情.
对我来说比较有用资源的索引:
- 利用前端实现MVC
- 实现module以及对应的依赖关系
- file, drag&drop等的API实现
- 前端开发需要考虑的: performance, cache
- 浏览器调试方面的一些工具: profile, logging
- 一些前端MVC库的介绍: spine, backbone, javascriptMVC
我自己比较不足的地方, 可以在接下来的开发工作中提高的有:
- 针对MVC的理解, 重构现有的程序.
- 考虑使用一些前端的UI库.
- performance, profile, logging, 用它们来提高现有前端代码的性能.