javascript 是门完整的语言,即便目前大部分应用环境还是在浏览器中,很多人都忽略了这点,往往认为 js 就是个「玩具」。
摆正了心态以后就要确定目标,简单的讲就是你想掌握这门语言到什么程度?每个人的情况不同,这里我简单说说我走过的路。
接触 js 是因为原先我是写 php 的,然后理所当然的会接触到页面(当时还没有前端这个专门的职位)。那时候 jQuery 还没有 1.0 版本,总之感觉一切都那么美好,基本上不用了解很多的 js 就能完成普通的需求了,例如简单的 tab 切换等等。
第二个阶段是熟练了 jQuery 以后,发现需要更深入的了解背后的机制,这可能是由于业务推动的结果,总之你不可避免的开始着手写些原生的 js,getElementById 、 getElementsByTagName 这些生涩的字眼会时常在代码中出现。
第三个阶段开始考虑脚本的性能和可用性,jQuery 这个时候不是你唯一的救命稻草,你这会可能尝试过其他不同的 js 框架,同时对每个框架的风格等有所熟悉,并拥有自己喜欢的编写 js 的风格和方式。
第四个阶段开始阅读框架本身的代码,现在回过头来看 yui 是个不错的起点,jquery 会吓跑很多想尝试这个阶段的朋友。慢慢得在这个阶段中会发现 js 和浏览器会有某种独立的关系,而同时发现 js 在浏览器之外还有另外的一片天地。
第五个阶段就是开始了解 emcascript ,这个时候你应该看了不下五遍的犀牛书,对 emcascript 的定义和陷阱有了些了解,也充分理解了不同浏览器厂商实现 js 引擎的差异,同时开始自己编写自己的 js 框架或者 toolkit。
有关需要学习的资料方面,如果 2012 要到来,非要让我带一本有关 js 的书籍的话,那就非犀牛书莫属。