如何学JavaScript?前辈的经验之谈(2)

任何一本书,你都没看完过。熟悉的,永远只是前三章。别笑,我原先也是这样的。
那么现在的问题是,怎么把一本书看完呢?
很简单,敲。
《基于MVC的JavaScript Web富应用开发》这本书我看时,就是这样,终于有一天,我下定决心要把此书从头到尾敲一遍。
文字加代码都敲,然后就一章一章得看完了。代码敲一遍后,你会发现,没之前看起来的那么难。
如果你属于一看书就犯困那种同学。强烈建议你把《javascript面向对象编程指南》此书从头到尾敲一遍。
坚持看完一本书后,信心就上来了。先保证看完一本再说。看完3本后,基本应该能做到几天就能看一本了。万事开头难,加油吧。

第四个问题,看书的层次问题。

书看完后,要自己总结,要与其他书籍对比看。有同学同时对比着看《权威指南》和《高设》来的。
随便拿出个知识点,你都能闭着眼睛说得头头是道,说明水平够了。

下一块就是源码的学习了。
看框架源码之前,想说一件事情:dom的api不懂,没问题,你可以百度。但是正则一定要先研究研究。
不然大多数人去尝试分析源码时,遇到的挫折都在于此。

怎么去阅读源码呢?

敲,照着敲。

有哪些代码值得去敲呢?
优秀框架或者库的源码都值得你去敲。
但是拿jq来敲,来入门,那不行的。原因:太他么长了。八九千行呢!!

个人觉得underscore.js库是不错的第一个选择。原因都是工具方法,敲完以后自己的水平应该略有小成吧。
其实有一些api的实现,你要把它当成getElementById一样,深深的印在脑海里。比如extend方法,必须张口就来。
敲完underscore库后,可以考虑去看看《javascript函数式编程》这本书了。

jq的源码不好敲。那么zepto的源码比较少1800多行,敲一天应该敲完了。
敲几遍后,把所有不懂的地方,都百度清楚,然后就可以写自己的类jq的库了。
然后就可以作为一项技能写进自己的简历里。比如“创建过自己的jquery库”。
当然敲的过程,还能帮助自己对jq的api认识。

然后是backbone.js,因为此框架是以类jq和underscore为基础的mvc框架。代码也没多少行。敲吧。
spine.js与backbone类似。可以在敲其之前,先看看那本《基于MVC的JavaScript Web富应用开发》。
希望你的简历可以添加这么一笔,“创建过自己的mvc框架”。

其他的,我也敲过一些。包括jq.validate.js,包括一些插件。
如果你愿意的话,bootstrap你可以去敲敲啊。源码挺多的,可以按插件逐个来敲。
分析明白了,轮播、分页、下拉框等等的插件那还不是分分钟随手就写一个了。
最起码看看人家api接口是怎么设计的也是极好的。话说个人在阅读其css代码中,也学到了不少东西。
说到插件,有两个必须提提,一个是表格插件,一个是树。都敲完,简历里可以这么写上,“创建过自己的UI框架”。

当然了,你也可以敲你喜欢的框架代码,重要的是明白其实现原理,最好理解其为啥那么设计,如果对设计模式比较熟悉的话,会经常发现原来是这么回事。。。
照着敲只是分析源码的入门,用途也是为了学习,最后能用在自己的项目中,那是才是正道。
就算没啥用,也是打发时间的好方式,比看电视剧强多了。我闲着无聊时,就背着敲underscore源码。

最后说句,如果你简历上能如期写上那几句话后,必须是大神。加油吧。

后记:写本文的最初目的,正如文章开头说的那样,方便自己回复大家的提问。
本站的任何一篇分享学习经验的文章,基本都会引起共鸣,这确实是一个值得讨论的话题。
这里再说说几个事情。

>有人问我前端工作经验事情。

没几年。三年多。

>初学者或新手(beginner)怎么办?

看书和分析源码是重要的提高方式,但不适合新手。
新手需要的是能快速的入门和入行,能快速的上手工作。
一种快捷的学习方式就是看视频。正如有的同学说得那样,知道有哪些东西,怎么用就可以了。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwjjdg.html