最近看过很多关于学习方法以及提高自己学习能力的文章,尤其是对于学习javascript的学习,自己一直也在摸索,也进过坑,看到一些大神的分享也有不少收获,今天的话就把自己的、他人的或者看到文章的你的我还不知道的想法,整理如下,希望对我们都有所帮助(PS:更多的是收集的大牛的见解)。
正题开始,“前端怎么学”应该因人而异,别人的方法未必适合自己。接下来要说的方法大家还是根据个人情况适时的取舍:我把大部分时间放在学习js上了。因为这个js的学习曲线,先平后陡。项目实践和练习啥的,我不说了,主要说下工作之外的时间利用问题。我是怎么学的呢,看书,分析源码。(PS:个人这几天统计了一下,前端书籍目前看了50多本吧,大部分都是js的。市面上的书基本,差不多都看过。这是大神的做过的事情,我们应该膜拜)
Q1:看书有啥好处?
好处应该是不言而喻的,书看多了,基础会逐渐夯实起来。看多了,自己的判断力,自然就上来了。看别人的文章,就能很快判断出,对方每块儿讲得对不对,哪块儿又是自己不清楚的,模棱两可的。当然也为看源码,分析源码提供了基础。
10本书读2遍的好处,应该大于一本书读20遍。10本书的交集,那就是基础知识的核心,而并集那就是所有的知识。好书当然要多读,反复读。但是只读一本是不行的。因为每本书的侧重点都不一样。从不同的侧面,去理解一个知识点,是很有意义的。
所以特别佩服印度人,他跟你讲英文,你一个词语没听懂,他会蹦出n个同一意思的单词,你听懂一个,就ok了。看书也是这样的,某一块讲得不透彻,不用担心,其他书籍可以帮助你来了解。
Q2:书籍推荐
个人觉得不错的,没事可以翻翻的。书籍如下:
《javascript面向对象编程指南》,风格轻松易懂,比较适合初学者,原型那块儿讲得透彻,12种继承方式呢。
《js权威指南》、《js高级程序设计》,这两本书经典是经典,但是太厚,适合把其中任意一章都当成一本书来读。洋洋洒洒,很难一口气看完。比较适合当做参考书。
《你不知道的javascript》狙击js核心细节,闭包、原型、this讲得都还清楚。目前《中册》也出了,还在看。
《js设计模式与开发实践》js设计模式也是要学的,此书把js的设计模式讲得非常清晰,一点不晦涩,看起来没多少难度。
《正则指引》,分析源码时,如果正则表达式不懂,没法进行下去的。此书相对来说讲得比较清晰。
《基于MVC的JavaScript Web富应用开发》,看完后,基本能写出自己的mvc框架了。是本好书。
《javascript函数式编程》,js是一门函数式语言,此书是函数式编程一个入门,函数是一等公民那是非常重要的。
《js忍者秘籍》,jq作者写的,没有传说中的那么难读,话说就算你看完并理解所有知识点,也不会达到世界高手级别的。因为你还没有做到随心所欲。
《javascript框架设计》,如果初看此书,会觉得此书有罗列代码之嫌。在我看来,此书讲究的是框架的全局观。以上书籍是我认为是成就高手之路上必须看的,也需要反复看。
css相关的书籍,说实话我看得比较少,总共有六七本吧。有两本必须推荐一下:
《css权威指南》,css基础知识点那是讲得非常清楚的。什么层叠优先级、line-height啥的。不是随便一本书都敢叫“权威指南”的。
《css揭秘》,此书我也是不断的看,此书才不屑于全面讲css3各属性呢。css规范文档能讲的,它只会讲你最不在意的。此书解决的47问题,解决思路和解决方案同等重要,很有启发性。以上各书你都可以不买,至少买本此书吧。
Q3:怎么看
想必很多同学,都想看书,但是很难看下去。文字部分相对来说还能看看,一遇到代码,头皮就发麻了。此问题一开始时我也遇到的。
说一个学习理论。比如说学英语,有个开水理论。词汇量必须达到6000才行,如果没达到,英文水平不会上去的,这跟烧开水一样,没事烧烧,放着凉凉,从来没烧到100度,那么此水是永远不能喝的。一旦煮沸过,就可以随时喝了。
20本书你看不下去,说明什么呢?任何一本书,你都没看完过。熟悉的,永远只是前三章。别笑,我原先也是这样的。
那么现在的问题是,怎么把一本书看完呢?很简单,敲。《基于MVC的JavaScript Web富应用开发》这本书我看时,就是这样,终于有一天,我下定决心要把此书从头到尾敲一遍。文字加代码都敲,然后就一章一章得看完了。代码敲一遍后,你会发现,没之前看起来的那么难。
如果你属于一看书就犯困那种同学。强烈建议你把《javascript面向对象编程指南》此书从头到尾敲一遍。坚持看完一本书后,信心就上来了。先保证看完一本再说,看完3本后,基本应该能做到几天就能看一本了。万事开头难,加油吧。
Q4:看书的层次问题
书看完后,要自己总结,要与其他书籍对比看。有同学同时对比着看《权威指南》和《高设》来的。随便拿出个知识点,你都能闭着眼睛说得头头是道,说明水平够了。
下一块就是源码的学习了。看框架源码之前,想说一件事情:dom的api不懂,没问题,你可以百度。
但是正则一定要先研究研究,不然大多数人去尝试分析源码时,遇到的挫折都在于此。
怎么去阅读源码呢?敲,照着敲。
有哪些代码值得去敲呢?优秀框架或者库的源码都值得你去敲。但是拿jq来敲,来入门,那不行的。原因:太他么长了。八九千行呢!!
当然了,你也可以敲你喜欢的框架代码,重要的是明白其实现原理,最好理解其为啥那么设计,如果对设计模式比较熟悉的话,会经常发现原来是这么回事。
照着敲只是分析源码的入门,用途也是为了学习,最后能用在自己的项目中,那是才是正道。就算没啥用,也是打发时间的好方式,比看电视剧强多了。我闲着无聊时,就背着敲underscore源码。最后说句,如果你简历上能如期写上那几句话后,必须是大神。加油吧。
当然以上可能更适用于有几年工作经验的小伙伴
对于初学者应该怎么办呢?
看书和分析源码是重要的提高方式,但不适合新手。新手需要的是能快速的入门和入行,能快速的上手工作。一种快捷的学习方式就是看视频。正如有的同学说得那样,知道有哪些东西,怎么用就可以了。
看视频是有好处的,首先它是一种被动学习方式。我最开始的入门也是看视频来的,只需要看就行了。一遍没懂,再放一遍,我基本上是1.5倍数去看的。
而读书是一种主动方式,需要自己一页一页翻。需要自己主动的去理解。而很多东西,也许只是视频老师一句话,就能突出的重点,需要我们自己去解读。还有另一件事情是,比如发现自己某个知识点不太清楚,可以单独去百度。比如this,文章很多的。这种学习方式也是快速掌握知识点的好办法。
所有刚开始接触这块或者有意向转行的小盆友,可以找一些好的培训机构,去系统学习一下,入门还是比较重要的。
好了说了这么多,还是早些歇息吧。每个人的学习习惯、方式、态度都不一样。先端正态度、找到自己的学习方法,进而养成坚持下去的习惯。最后说一句,你我共勉:只要你走在正确的道路上,不管、走得多慢,都是前进!
我也是在探索前端之旅的路上,有兴趣的伙伴们可以进我Q群详聊:142991222,期待跟大家一起交流沟通,更上一层楼。